Compare commits

...

1346 Commits

Author SHA1 Message Date
Bruno Alla
846af52e73 Group Docker Python upgrades 2025-04-09 12:30:20 +01:00
github-actions
9a3a3c686a Release 2025.04.08 2025-04-09 02:33:08 +00:00
pyup.io bot
8316bdc708
Update django-extensions from 3.2.3 to 4.0 (#5770) 2025-04-08 09:37:28 +01:00
github-actions
71f6c8ac09 Release 2025.04.05 2025-04-06 02:33:35 +00:00
browniebroke
22fb3141a1 Update Contributors 2025-04-05 10:42:33 +00:00
Aidos Kanapyanov
458a21ee5c
Add Docker build caching on GitHub Actions (#5700) 2025-04-05 11:42:17 +01:00
pyup.io bot
06c0cd2bf8
Update ruff to 0.11.4 (#5767) 2025-04-05 11:03:17 +01:00
browniebroke
10d80a2ff9 Update Contributors 2025-04-05 09:58:43 +00:00
Pepa
6455b39c07
Pin Pillow and Sphinx to non yanked release (#5765) 2025-04-05 10:58:27 +01:00
Bruno Alla
bf9ac68fed
Skip align-versions workflow (#5766)
* Skip align-versions workflow on forks

* Update repo link in local.txt

* Update condition to restrict on GitHub actor
2025-04-04 14:03:23 +01:00
github-actions
bb2d056a15 Release 2025.04.03 2025-04-04 02:31:57 +00:00
pyup.io bot
7ba49c9dc5
Update django-anymail to 13.0 (#5763) 2025-04-03 23:23:35 +01:00
pyup.io bot
b4590cf8d9
Update pytest-django from 4.11.0 to 4.11.1 (#5762) 2025-04-03 21:42:46 +01:00
pyup.io bot
8f1b488069
Update ruff to 0.11.3 (#5761) 2025-04-03 16:12:24 +01:00
pyup.io bot
9085f602fa
Update django-allauth from 65.6.0 to 65.7.0 (#5760) 2025-04-03 14:18:33 +01:00
github-actions
1e19553ded Release 2025.04.02 2025-04-03 02:32:18 +00:00
pyup.io bot
285e86bf71
Update crispy-bootstrap5 from 2024.10 to 2025.4 (#5756) 2025-04-02 19:49:33 +01:00
Pulse-Mind
7d8dabb813
Update Django from 5.0 to 5.1 (#5740) 2025-04-02 19:47:59 +01:00
pyup.io bot
b4f95514aa
Update sentry-sdk from 2.25.0 to 2.25.1 (#5757) 2025-04-02 18:06:12 +01:00
browniebroke
97c363bf9e Update Contributors 2025-04-02 13:43:00 +00:00
Igor Jerosimić
6ea1f3c718
Fix line endings for dotenv merge script on Windows (#5754) 2025-04-02 14:42:43 +01:00
pyup.io bot
a802ac491c
Update django-storages to 1.14.6 (#5753) 2025-04-02 08:45:13 +01:00
pyup.io bot
f1760fb835
Update pytest-django from 4.10.0 to 4.11.0 (#5752) 2025-04-02 08:44:28 +01:00
github-actions
5c5ec3a2ba Release 2025.04.01 2025-04-02 02:32:29 +00:00
pyup.io bot
dd24cdb036
Update pillow from 11.1.0 to 11.2.0 (#5751) 2025-04-01 16:13:09 +01:00
dependabot[bot]
0c1a349bfa
Bump traefik from 3.3.4 to 3.3.5 (#5750) 2025-04-01 10:38:01 +01:00
pyup.io bot
54c70edf39
Update celery from 5.4.0 to 5.5.0 (#5748) 2025-04-01 08:23:00 +01:00
github-actions
c550acd874 Release 2025.03.31 2025-04-01 02:35:59 +00:00
pyup.io bot
3e95ca6d8f
Update django-allauth from 65.5.0 to 65.6.0 (#5741) 2025-03-31 15:32:12 +01:00
pyup.io bot
9910a2bb91
Update sentry-sdk from 2.24.1 to 2.25.0 (#5747) 2025-03-31 15:31:44 +01:00
pyup.io bot
179e4846a5
Update coverage from 7.7.1 to 7.8.0 (#5745) 2025-03-31 15:31:31 +01:00
github-actions[bot]
23747ef0f4
Auto-update flake8 pre-commit hook (#5744) 2025-03-31 15:31:14 +01:00
github-actions
2504a349af Release 2025.03.28 2025-03-29 02:30:51 +00:00
pyup.io bot
31f7901060
Update djangorestframework from 3.15.2 to 3.16.0 (#5743) 2025-03-28 17:49:10 +00:00
github-actions[bot]
28aa085015
Update django-upgrade pre-commit hook to v1.24.0 (#5742) 2025-03-28 10:41:11 +00:00
github-actions
8459a36369 Release 2025.03.24 2025-03-25 02:31:51 +00:00
pyup.io bot
7fbcc652f1
Update django-allauth to 65.5.0 (#5723) 2025-03-24 23:00:28 +00:00
pyup.io bot
c04a8e39f9
Update sentry-sdk from 2.24.0 to 2.24.1 (#5739) 2025-03-24 13:01:17 +00:00
github-actions
9c68c8f3db Release 2025.03.22 2025-03-23 02:33:26 +00:00
pyup.io bot
e1a7d93d09
Update coverage from 7.7.0 to 7.7.1 (#5736) 2025-03-22 12:53:46 +00:00
github-actions
6d5fdb7e04 Release 2025.03.21 2025-03-22 02:29:44 +00:00
pyup.io bot
0822b46c2f
Update sentry-sdk from 2.23.1 to 2.24.0 (#5734) 2025-03-21 14:10:42 +00:00
pyup.io bot
1e22b0b987
Update django-debug-toolbar from 5.0.1 to 5.1.0 (#5732) 2025-03-21 14:10:31 +00:00
pyup.io bot
29c70dfd0d
Update ruff to 0.11.2 (#5735) 2025-03-21 14:10:00 +00:00
dependabot[bot]
1696a9d277
Bump amazon/aws-cli (#5733) 2025-03-21 11:04:02 +00:00
github-actions[bot]
100271e7e1
Auto-update pre-commit hooks (#5657) 2025-03-21 11:03:41 +00:00
pyup.io bot
b37fa9c79f
Update ruff to 0.11.1 (#5731) 2025-03-21 10:58:14 +00:00
github-actions
3f3bc529ae Release 2025.03.19 2025-03-20 02:30:33 +00:00
pyup.io bot
e5c315bbc7
Update pre-commit from 4.1.0 to 4.2.0 (#5730) 2025-03-19 08:42:49 +00:00
github-actions
05ce556006 Release 2025.03.17 2025-03-18 02:31:28 +00:00
pyup.io bot
e6fac6075d
Update sentry-sdk from 2.22.0 to 2.23.1 (#5727) 2025-03-17 14:34:51 +00:00
pyup.io bot
ffb6f616a7
Update coverage from 7.6.12 to 7.7.0 (#5725) 2025-03-17 10:11:32 +00:00
github-actions
aa5308e82a Release 2025.03.15 2025-03-16 02:32:10 +00:00
pyup-bot
0849bb518d Update psycopg from 3.2.5 to 3.2.6 2025-03-15 08:43:43 -03:00
pyup-bot
3ea0666650 Update psycopg from 3.2.5 to 3.2.6 2025-03-15 08:43:43 -03:00
pyup-bot
9691dc10c8 Update psycopg from 3.2.5 to 3.2.6 2025-03-15 08:43:43 -03:00
pyup.io bot
51d1c5bb5f
Update ruff to 0.11.0 (#5724) 2025-03-15 10:23:52 +00:00
github-actions
fb5fcdbcaf Release 2025.03.08 2025-03-09 02:17:53 +00:00
pyup.io bot
4443eb41c2
Update ruff to 0.9.10 (#5720) 2025-03-08 10:17:26 +00:00
github-actions
c85e2f57f5 Release 2025.03.06 2025-03-07 02:30:27 +00:00
pyup.io bot
50ddc282d7
Update django from 5.0.12 to 5.0.13 (#5719) 2025-03-06 18:34:55 +00:00
github-actions
dfc2fb134b Release 2025.03.04 2025-03-05 02:29:49 +00:00
Bruno Alla
e4ee6565ef
Enable uv updates for Dependabot (#5716) 2025-03-04 13:33:42 +00:00
pyup.io bot
16488dd0cf
Update sphinx to 8.3.0 (#5714) 2025-03-04 12:35:15 +00:00
pyup.io bot
d506d38f2e
Update pytest to 8.3.5 (#5713) 2025-03-04 12:34:21 +00:00
Matthew Foster Walsh
b3389579c1
Add groups for dependabot updates (#5709)
* Add groups for docker prs

* development update group doesn't work

* Remove docker group and exclude major package updates
2025-03-04 12:33:30 +00:00
github-actions
7c9f6a75af Release 2025.03.01 2025-03-02 02:30:47 +00:00
pyup.io bot
0b90ecf4bf
Update ruff to 0.9.9 (#5711) 2025-03-01 09:20:09 +00:00
github-actions
79f572c010 Release 2025.02.28 2025-03-01 02:31:13 +00:00
Bruno Alla
2d5d84f61a Minor styling tweaks 2025-02-28 10:41:42 +00:00
pyup.io bot
4c8ab6b4ba
Update ruff to 0.9.8 (#5708) 2025-02-28 10:36:26 +00:00
dependabot[bot]
ee40ae6119
Bump babel-loader from 9.2.1 to 10.0.0 (#5710) 2025-02-28 10:35:38 +00:00
github-actions
8bc53f538c Release 2025.02.26 2025-02-27 02:29:19 +00:00
dependabot[bot]
6e9d2de035
Bump traefik from 3.3.3 to 3.3.4 (#5705) 2025-02-26 09:40:10 +00:00
github-actions
e6f16d424f Release 2025.02.25 2025-02-26 02:28:48 +00:00
browniebroke
e7cad8f1c6 Update Contributors 2025-02-25 13:56:16 +00:00
Kawsar Alam Foysal
e8d328b283
Fix links to FAQ about contrib.sites directory (#5704) 2025-02-25 13:55:52 +00:00
github-actions
fedf1f34d6 Release 2025.02.23 2025-02-24 02:30:01 +00:00
pyup.io bot
90d55a3a48
Update sphinx to 8.2.1 (#5696) 2025-02-23 20:08:00 +00:00
pyup.io bot
c898ed0dc8
Update psycopg to 3.2.5 (#5697) 2025-02-23 20:07:48 +00:00
Matthew Foster Walsh
fcef872763
Group dependabot docker directories (#5698) 2025-02-23 20:07:15 +00:00
github-actions
697e8e40ce Release 2025.02.21 2025-02-22 02:25:06 +00:00
pyup.io bot
70f5a984b4
Update djangorestframework-stubs to 3.15.3 (#5695) 2025-02-21 17:09:51 +00:00
pyup.io bot
ccbb1d3afc
Update sphinx to 8.2.0 (#5693) 2025-02-21 17:09:32 +00:00
pyup.io bot
7e736503ee
Update ruff to 0.9.7 (#5694)
Co-authored-by: pyup-bot <16239342+pyup-bot@users.noreply.github.com>
2025-02-21 17:09:09 +00:00
Bruno Alla
cc0bd38eff Port some changes from Ruff 2025-02-18 22:40:22 +00:00
Bruno Alla
425520956d Use 2 spaces indentation in toml files 2025-02-18 22:38:20 +00:00
Bruno Alla
ec4e519795 Fix indentation in generated pyproject.toml 2025-02-18 22:37:16 +00:00
Bruno Alla
907ee6a607 Fix issues from Ruff in docs config 2025-02-18 22:36:17 +00:00
Bruno Alla
f30c3c036c Fix issues from Ruff in scripts 2025-02-18 22:35:10 +00:00
github-actions
1a81521ae8 Release 2025.02.17 2025-02-18 02:26:25 +00:00
pyup.io bot
0299f98693
Update sentry-sdk from 2.21.0 to 2.22.0 (#5692) 2025-02-17 19:28:34 +00:00
pyup.io bot
c448ff5ae6
Update django-storages to 1.14.5 (#5690) 2025-02-17 08:45:59 +00:00
github-actions
65b16c82c0 Release 2025.02.14 2025-02-15 02:25:44 +00:00
dependabot[bot]
08d1a3ba61
Bump node from 22.13 to 22.14 (#5688) 2025-02-14 07:58:21 +00:00
Bruno Alla
d8f3ad04f4 Allow to run workflow manually 2025-02-14 07:18:14 +00:00
github-actions
39f882ffb0 Release 2025.02.13 2025-02-14 02:26:43 +00:00
pyup.io bot
9653f1df97
Update sentry-sdk to 2.21.0 (#5687) 2025-02-13 10:50:07 +00:00
github-actions
4978690ae1 Release 2025.02.11 2025-02-12 02:26:33 +00:00
pyup.io bot
0e35c6f3b1
Update coverage to 7.6.12 (#5686) 2025-02-11 18:04:54 +00:00
github-actions
1ec8ef58dd Release 2025.02.10 2025-02-11 02:27:17 +00:00
pyup.io bot
a76b8fe8c8
Update pytest-django to 4.10.0 (#5684) 2025-02-10 16:53:01 +00:00
pyup.io bot
eb2daaa132
Update ruff to 0.9.6 (#5683)
Co-authored-by: pyup-bot <16239342+pyup-bot@users.noreply.github.com>
2025-02-10 15:28:24 +00:00
dependabot[bot]
ecbcd763a8
Bump amazon/aws-cli from 2.23.0 to 2.24.0 (#5682) 2025-02-10 08:59:04 +00:00
github-actions
7977437563 Release 2025.02.08 2025-02-09 02:28:01 +00:00
pyup.io bot
9544a2243b
Update coverage from 7.6.10 to 7.6.11 (#5681) 2025-02-08 22:03:33 +00:00
github-actions
431a4bd10c Release 2025.02.07 2025-02-08 02:23:22 +00:00
Bruno Alla
a06ed7ae76 Replace local pre-commit hook by GH action 2025-02-07 23:19:12 +00:00
pyup.io bot
13acd682cc
Update mypy to 1.15.0 (#5664)
Co-authored-by: Bruno Alla <browniebroke@users.noreply.github.com>
2025-02-07 23:17:51 +00:00
pyup.io bot
67b3a7b9f3
Update django-stubs to 5.1.3 (#5680) 2025-02-07 23:10:08 +00:00
dependabot[bot]
1962169f57
Bump python from 3.12.8 to 3.12.9 in local Docker image (#5678)
Bumps python from 3.12.8-slim-bookworm to 3.12.9-slim-bookworm.

---
updated-dependencies:
- dependency-name: python
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-07 23:09:13 +00:00
dependabot[bot]
bcf96d432f
Bump python from 3.12.8 to 3.12.9 in production Docker image (#5677)
Bumps python from 3.12.8-slim-bookworm to 3.12.9-slim-bookworm.

---
updated-dependencies:
- dependency-name: python
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-07 23:08:38 +00:00
dependabot[bot]
d04d3802f3
Bump python from 3.12.8 to 3.12.9 in docs Docker image (#5676)
Bumps python from 3.12.8-slim-bookworm to 3.12.9-slim-bookworm.

---
updated-dependencies:
- dependency-name: python
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-07 23:07:51 +00:00
pyup.io bot
978455aa94
Update django-allauth to 65.4.1 (#5679)
Co-authored-by: Bruno Alla <alla.brunoo@gmail.com>
2025-02-07 11:08:49 +00:00
Bruno Alla
08cf6f72e5 Update node version in production docker file 2025-02-07 10:12:43 +00:00
pyup.io bot
f79dbf9e17
Update django-cors-headers to 4.7.0 (#5675) 2025-02-07 10:03:58 +00:00
pyup.io bot
36b7e7754d
Update whitenoise to 6.9.0 (#5674) 2025-02-07 10:03:48 +00:00
github-actions
c37b46e5cf Release 2025.02.06 2025-02-07 02:27:02 +00:00
pyup.io bot
17e5ad3f17
Update ruff to 0.9.5 (#5673)
* Update ruff from 0.9.4 to 0.9.5

* Align Ruff versions

---------

Co-authored-by: pyup-bot <16239342+pyup-bot@users.noreply.github.com>
2025-02-06 22:55:52 +00:00
browniebroke
bde74225a3 Update Contributors 2025-02-06 22:23:31 +00:00
Alan Cyment
8a019b40cf
Bumped node version of Django Dockerfile to 22.13 (#5672) 2025-02-06 22:23:12 +00:00
github-actions
6b8545a95d Release 2025.02.05 2025-02-06 02:26:42 +00:00
pyup-bot
0be2d9c919 Update django from 5.0.11 to 5.0.12 2025-02-05 14:14:38 -03:00
Hana Belay
7c6dff3b70
Add missing trailing slash in test MEDIA_URL (#5666) 2025-02-05 10:57:30 +00:00
github-actions
e0da2963c3 Release 2025.02.03 2025-02-04 02:25:06 +00:00
dependabot[bot]
bcd27ef206
Bumps traefik from 3.3.2 to 3.3.3 (#5660) 2025-02-03 11:13:09 +00:00
pyup.io bot
7371becfcf
Update factory-boy to 3.3.2 (#5661) 2025-02-03 11:11:47 +00:00
github-actions
633762d9d5 Release 2025.01.30 2025-01-31 02:24:55 +00:00
pyup.io bot
0299266df9
Update ruff to 0.9.4 (#5659) 2025-01-30 20:54:37 +00:00
github-actions
bf2a3c5d84 Release 2025.01.26 2025-01-27 02:26:26 +00:00
Ed Morley
f95ef4f8dc
Update Heroku deployment guide (#5656)
* Remove setting of `PYTHONHASHSEED` env var, since it's defaulted to `random` since Python 3.3. See: 
  https://docs.python.org/3.13/whatsnew/3.3.html#builtin-functions-and-types
* Remove setting of `WEB_CONCURRENCY` env var to a hardcoded value, since on Heroku the Python buildpack dynamically sets the value at container boot based on the available CPUs, so it's best to not override the default with a value that might not match the size of the dyno. See: 
  https://devcenter.heroku.com/articles/python-concurrency#default-settings-and-behavior
2025-01-26 13:38:08 +00:00
browniebroke
b5b24db9d2 Update Contributors 2025-01-26 13:35:23 +00:00
Ed Morley
827d35708b
Migrate generated project from runtime.txt to .python-version (#5652)
Heroku now supports the `.python-version` file as an alternative to the
Heroku-specific (and now deprecated) `runtime.txt` file, and recommends
apps switch to using the former since it's more widely supported by other
tooling.

The `.python-version` file is supported by pyenv, uv, the GitHub Actions
`setup-python` action and many others.

In addition, the `.python-version` file supports the version being specified
as just the major version (eg `3.12` vs `3.12.N`) which means will pick up
Python patch updates automatically (which is the recommended usage on
Heroku).

See:
https://devcenter.heroku.com/changelog-items/3005
https://github.com/heroku/heroku-buildpack-python/issues/1642
https://github.com/actions/setup-python/blob/main/docs/advanced-usage.md#using-the-python-version-file-input
2025-01-26 13:35:04 +00:00
github-actions
70bd35d398 Release 2025.01.24 2025-01-25 02:21:10 +00:00
pyup.io bot
d7c995b873
Update ruff to 0.9.3 (#5654)
* Update ruff from 0.9.2 to 0.9.3

* Align Ruff versions

* Align Ruff versions

---------

Co-authored-by: pyup-bot <16239342+pyup-bot@users.noreply.github.com>
Co-authored-by: browniebroke <861044+browniebroke@users.noreply.github.com>
2025-01-24 07:50:53 +00:00
github-actions
bb6e4085c7 Release 2025.01.21 2025-01-22 02:26:55 +00:00
ghazi-git
723a388f3d
Update the linter error code from TCH to TC (#5651) 2025-01-21 19:50:33 +00:00
pyup.io bot
3e1e6cb41b
Update pre-commit to 4.1.0 (#5650)
* Update pre-commit from 4.0.1 to 4.1.0

* Update pre-commit version in template

---------

Co-authored-by: Bruno Alla <alla.brunoo@gmail.com>
2025-01-21 10:08:29 +00:00
github-actions
a691219456 Release 2025.01.20 2025-01-21 02:24:53 +00:00
Bruno Alla
a1105d9010
Migrate post-generation hook to pathlib (#5648)
* Migrate post-generation hook to pathlib

* Fix typo in folder name
2025-01-20 19:06:28 +00:00
Bruno Alla
7f4211ab16
Migrate test generation to pathlib (#5649) 2025-01-20 13:28:59 +00:00
Jelmer
1cad7df6cc
Merge pull request #5615 from browniebroke/refactor/move-api-tests
Group all API tests under a `tests.api` namespace
2025-01-20 14:00:31 +01:00
github-actions
2193a661c5 Release 2025.01.16 2025-01-17 02:23:58 +00:00
pyup.io bot
e69d77a0b9
Update ruff to 0.9.2 (#5646) 2025-01-16 13:59:24 +00:00
dependabot[bot]
54e0ccec0c
Bump amazon/aws-cli from 2.22.1 to 2.23.0 (#5645) 2025-01-16 07:32:55 +00:00
github-actions
185f18dfc0 Release 2025.01.15 2025-01-16 02:24:24 +00:00
pyup.io bot
ab475a5570
Update psycopg to 3.2.4 (#5644) 2025-01-15 23:13:38 +00:00
ghazi-git
564ca18e56
update CELERYD_HIJACK_ROOT_LOGGER to CELERY_WORKER_HIJACK_ROOT_LOGGER (#5643)
CELERYD_HIJACK_ROOT_LOGGER was the name of the setting in celery v3
2025-01-15 19:34:23 +00:00
pyup.io bot
fbf6c886cb
Update django-stubs to 5.1.2 (#5639) 2025-01-15 10:02:53 +00:00
dependabot[bot]
2dc567d131
Bump traefik from 3.3.1 to 3.3.2 (#5642) 2025-01-15 10:00:20 +00:00
github-actions
7a85931fb0 Release 2025.01.14 2025-01-15 02:25:13 +00:00
pyup.io bot
c89a45c45f
Update django from 5.0.10 to 5.0.11 (#5640) 2025-01-14 17:54:03 +00:00
pyup.io bot
1ba44e9e03
Update sentry-sdk to 2.20.0 (#5638) 2025-01-14 12:05:21 +00:00
pyup.io bot
42febc9e84
Update django-debug-toolbar from 4.4.6 to 5.0.1 (#5636) 2025-01-14 07:32:51 +00:00
github-actions
843f268c4d Release 2025.01.13 2025-01-14 02:23:40 +00:00
pyup.io bot
a8847158c9
Update django-environ from 0.11.2 to 0.12.0 (#5635) 2025-01-13 18:06:11 +00:00
dependabot[bot]
d78dff4969
Bumps traefik from 3.3.0 to 3.3.1 (#5634) 2025-01-13 09:41:21 +00:00
github-actions
cb4a277136 Release 2025.01.11 2025-01-12 02:31:00 +00:00
pyup.io bot
35dacd8718
Update ruff to 0.9.1 (#5633) 2025-01-11 12:08:23 +00:00
browniebroke
01650ddc1b Align Ruff versions 2025-01-11 12:00:31 +00:00
Bruno Alla
e7edde03ba Add workflow to keep Ruff version up to date 2025-01-11 12:00:31 +00:00
Bruno Alla
33aa0c0639 Add script to automatically keep ruff versions up-to-date 2025-01-11 12:00:31 +00:00
Bruno Alla
6047eeff3d Keep full version in pyproject-fmt 2025-01-11 12:00:31 +00:00
pyup-bot
8fd6404901 Update ruff from 0.8.6 to 0.9.0 2025-01-11 12:00:31 +00:00
github-actions
5eba578860 Release 2025.01.10 2025-01-11 02:27:14 +00:00
pyup.io bot
0d6de8f23b
Update watchfiles to 1.0.4 (#5631) 2025-01-10 14:17:10 +00:00
github-actions
9cd3d10776 Release 2025.01.09 2025-01-10 02:29:16 +00:00
Bruno Alla
1dbaeaa09d
Merge pull request #5627 from cookiecutter/dependabot/docker/{{cookiecutter.project_slug}}/compose/local/node/node-22.13-bookworm-slim
Bump node from 22.12 to 22.13
2025-01-09 22:29:48 +00:00
pre-commit-ci[bot]
2d54690d34 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2025-01-09 21:24:10 +00:00
Bruno Alla
d39bb8ae16 Add pre-commit hook to keep node version up to date 2025-01-09 21:22:21 +00:00
Bruno Alla
bb7bffec63 Add script to automatically keep node version up-to-date 2025-01-09 21:21:42 +00:00
Bruno Alla
c5b60d27cf
Merge pull request #5614 from browniebroke/drop-python-2-hooks
Drop support for Python 2 in template generation hooks
2025-01-09 20:52:46 +00:00
dependabot[bot]
cee86b68b1
Bump node in /{{cookiecutter.project_slug}}/compose/local/node
Bumps node from 22.12-bookworm-slim to 22.13-bookworm-slim.

---
updated-dependencies:
- dependency-name: node
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-08 05:52:28 +00:00
github-actions
7324393b15 Release 2025.01.07 2025-01-08 02:27:20 +00:00
dependabot[bot]
38639e251e
Bump traefik from 3.2.3 to 3.3.0 (#5625) 2025-01-07 09:55:30 +00:00
Bruno Alla
b9eb7c8eca
Set minimum_pre_commit_version in pre-commit config (#5626) 2025-01-07 09:54:39 +00:00
github-actions
d50dd24e90 Release 2025.01.06 2025-01-07 02:28:28 +00:00
browniebroke
6e46acc466 Update Contributors 2025-01-06 14:49:24 +00:00
Hana Belay
570763e7ce
Add justfile for use with docker (#5621) 2025-01-06 14:49:01 +00:00
github-actions
e4b00c26d7 Release 2025.01.04 2025-01-05 02:30:04 +00:00
pyup.io bot
95c3772b3e
Update ruff to 0.8.6 (#5622) 2025-01-04 19:35:10 +00:00
github-actions
3ef84f1a26 Release 2025.01.02 2025-01-03 02:27:46 +00:00
browniebroke
b0e12c9cea Update Contributors 2025-01-02 20:44:26 +00:00
Pulse-Mind
411e92cf9d
Fix logging configuration for Celery tasks (#5563) 2025-01-02 20:44:08 +00:00
Bruno Alla
0434aea33f Rename API docs tests to not mention Swagger 2025-01-02 20:20:08 +00:00
pyup.io bot
df2bd97a24
Update ruff to 0.8.5 (#5619) 2025-01-02 18:13:06 +00:00
pyup.io bot
f8d267a78c
Update pillow to 11.1.0 (#5617) 2025-01-02 10:57:12 +00:00
Bruno Alla
683f207d4a Move API tests into a package
Mirroring the structure of the code being tested
2024-12-31 13:27:02 +00:00
Bruno Alla
a623f7bbc6 Drop support for Python 2 in template generation hooks 2024-12-31 12:58:13 +00:00
Bruno Alla
5b4e769354
Update a bunch of dependencies in the template project (#5612) 2024-12-31 10:47:47 +00:00
Bruno Alla
33f32b06d9
Fix missing update from uv.lock during release process (#5611) 2024-12-31 09:57:53 +00:00
Bruno Alla
7e0f4c165d
Bump Jinja from 3.1.4 to 3.1.5 (#5610) 2024-12-31 09:50:08 +00:00
github-actions
e3929b15e4 Release 2024.12.27 2024-12-28 02:25:06 +00:00
pyup.io bot
f9298f9b99
Update coverage from 7.6.9 to 7.6.10 (#5608) 2024-12-27 11:19:22 +00:00
pyup.io bot
4dcc9e786f
Update uvicorn-worker from 0.2.0 to 0.3.0 (#5607) 2024-12-27 11:19:02 +00:00
github-actions
2b09e6bb41 Release 2024.12.26 2024-12-27 02:27:37 +00:00
pyup-bot
fd9dd32d28 Update collectfasta from 3.2.0 to 3.2.1 2024-12-26 08:48:10 -03:00
pyup.io bot
e9f4ba8ae5
Update django-allauth from 65.3.0 to 65.3.1 (#5605) 2024-12-26 09:50:26 +00:00
github-actions
250a28bca8 Release 2024.12.24 2024-12-25 02:26:31 +00:00
pyup.io bot
61ffcbf163
Update djlint to 1.36.4 (#5603) 2024-12-24 14:27:11 +00:00
pyup.io bot
1787fe31d2
Update uvicorn from 0.32.1 to 0.34.0 (#5592) 2024-12-24 14:22:18 +00:00
github-actions
a7362a0838 Release 2024.12.23 2024-12-24 02:27:39 +00:00
dependabot[bot]
fc68927672
Bump astral-sh/setup-uv from 4 to 5 (#5602) 2024-12-23 09:31:31 +00:00
dependabot[bot]
df7fcce28f
Bump webpack-cli from 5.1.4 to 6.0.1 (#5601) 2024-12-23 09:27:51 +00:00
github-actions
b1bc92ff2c Release 2024.12.20 2024-12-21 02:25:40 +00:00
pyup.io bot
92491bc4ad
Update ruff to 0.8.4 (#5595) 2024-12-20 11:04:28 +00:00
github-actions
fb7b05afae Release 2024.12.17 2024-12-18 02:30:48 +00:00
pyup.io bot
6c20b26773
Update djangorestframework-stubs from 3.15.1 to 3.15.2 (#5591) 2024-12-17 08:42:47 +00:00
dependabot[bot]
a40c4e8588
Bump traefik from 3.2.2 to 3.2.3 (#5594) 2024-12-17 08:40:25 +00:00
github-actions[bot]
8245b0c147
Auto-update pyupgrade pre-commit hook (#5593) 2024-12-17 08:39:08 +00:00
github-actions
c17fef651f Release 2024.12.12 2024-12-13 02:33:08 +00:00
pyup.io bot
35bed843b8
Update ruff to 0.8.3 (#5587) 2024-12-12 23:17:39 +00:00
github-actions
72cb463ace Release 2024.12.11 2024-12-12 02:32:46 +00:00
dependabot[bot]
1b62f5b329
Bump traefik (#5586) 2024-12-11 14:33:28 +00:00
github-actions
1702b79b8c Release 2024.12.10 2024-12-11 02:32:47 +00:00
pyup.io bot
bb38f34c70
Update watchfiles from 1.0.0 to 1.0.3 (#5585) 2024-12-10 23:42:34 +00:00
dependabot[bot]
736ff7659d
Bump node from 22.11 to 22.12 (#5583) 2024-12-10 23:42:16 +00:00
github-actions
9ce93909a3 Release 2024.12.08 2024-12-09 02:34:03 +00:00
pyup.io bot
277bb8f475
Update ruff to 0.8.2 (#5576) 2024-12-08 15:20:23 +00:00
pyup.io bot
8ce5908229
Update coverage to 7.6.9 (#5581) 2024-12-08 14:49:57 +00:00
pyup.io bot
c187975e1d
Update sentry-sdk to 2.19.2 (#5579) 2024-12-08 14:49:40 +00:00
dependabot[bot]
402fd66165
Bump python in /{{cookiecutter.project_slug}}/compose/production/django (#5575) 2024-12-08 14:48:59 +00:00
dependabot[bot]
2c835f0ed5
Bump python from 3.12.7 to 3.12.8 in local Docker image (#5574) 2024-12-08 14:48:42 +00:00
dependabot[bot]
47bc51274d
Bump python from 3.12.7 to 3.12.8 in docs Docker image (#5573) 2024-12-08 14:48:19 +00:00
pyup.io bot
8c02bf8f93
Update hiredis to 3.1.0 (#5571) 2024-12-08 14:48:05 +00:00
pyup.io bot
f63daa7eb1
Update redis to 5.2.1 (#5580)
Co-authored-by: Bruno Alla <browniebroke@users.noreply.github.com>
2024-12-08 14:47:45 +00:00
Bruno Alla
cedbcbd0bf
Merge pull request #5572 from cookiecutter/pyup-update-django-5.0.9-to-5.0.10
Update django to 5.0.10
2024-12-08 15:39:13 +01:00
Bruno Alla
da24b3aa3f
Merge branch 'master' into pyup-update-django-5.0.9-to-5.0.10 2024-12-08 15:32:18 +01:00
pyup.io bot
a41bbee492
Update drf-spectacular to 0.28.0 (#5564) 2024-12-08 14:32:03 +00:00
Bruno Alla
b25ab14385
Pin node to version 22.11 (#5582)
* Add --rm to all docker run commands in CI

* Pin node 22 version to 22.11
2024-12-08 13:30:39 +01:00
pyup-bot
7e4ba42e6e Update django from 5.0.9 to 5.0.10 2024-12-04 15:46:56 +00:00
github-actions
857bcb6895 Release 2024.12.03 2024-12-04 02:32:42 +00:00
github-actions[bot]
eee987e1b4
Update django-upgrade to 1.22.2 (#5567) 2024-12-03 07:16:10 +00:00
github-actions
d43c73aeb6 Release 2024.12.02 2024-12-03 02:32:54 +00:00
pyup.io bot
3eacd55bf7
Update pytest to 8.3.4 (#5566) 2024-12-02 08:31:15 +00:00
github-actions
d7fe509ce9 Release 2024.12.01 2024-12-02 02:33:35 +00:00
pyup.io bot
9f34c18ffe
Update django-allauth to 65.3.0 (#5565) 2024-12-01 16:42:42 +00:00
github-actions
9465a18868 Release 2024.11.29 2024-11-30 02:29:43 +00:00
pyup.io bot
017c9ae6f8
Update ruff to 0.8.1 (#5557) 2024-11-29 09:20:53 +00:00
pyup.io bot
4dd166267d
Update djlint to 1.36.3 (#5558) 2024-11-29 08:51:35 +00:00
github-actions
7675287041 Release 2024.11.28 2024-11-29 02:31:54 +00:00
github-actions[bot]
606db119cd
Update djlint pre-commit hook to 1.36.2 (#5556) 2024-11-28 14:20:39 +00:00
pyup-bot
f0b50fb735 Update djlint from 1.36.1 to 1.36.2 2024-11-28 10:27:33 -03:00
github-actions
054eebf510 Release 2024.11.27 2024-11-28 02:31:56 +00:00
Bruno Alla
6a526ac633
Pin dart-sass to 1.77.6 to avoid deprecation warnings (#5552)
https://github.com/twbs/bootstrap/issues/40962
https://github.com/twbs/bootstrap/issues/40849
2024-11-27 21:18:33 +00:00
dependabot[bot]
88ba893524
Bump gulp-imagemin from 7.1.0 to 9.1.0 (#5052) 2024-11-27 18:37:39 +00:00
dependabot[bot]
0de4a2f6eb
Bump gulp from 4.0.2 to 5.0.0 (#4949) 2024-11-27 18:27:50 +00:00
github-actions
c02a16d6bf Release 2024.11.26 2024-11-27 02:32:12 +00:00
pyup.io bot
07061b6e2f
Update coverage to 7.6.8 (#5547) 2024-11-26 17:52:16 +00:00
pyup.io bot
c05770a4dc
Update watchfiles to 1.0.0 (#5548) 2024-11-26 17:51:57 +00:00
dependabot[bot]
575d4c3809
Bump astral-sh/setup-uv from 3 to 4 (#5549) 2024-11-25 12:47:25 +00:00
github-actions
4617cd2212 Release 2024.11.22 2024-11-23 02:28:37 +00:00
pyup.io bot
b09ee5be8a
Update ruff to 0.8.0 (#5545) 2024-11-22 12:48:20 +00:00
github-actions
be2fdb2984 Release 2024.11.21 2024-11-22 02:30:53 +00:00
pyup.io bot
aca580df00
Update sentry-sdk to 2.19.0 (#5543) 2024-11-21 18:16:44 +00:00
browniebroke
cbead91fdc Update Contributors 2024-11-21 12:55:15 +00:00
qwerrrqw
7fc33c2a23
Add support for secure Redis (TLS support) (#5526) 2024-11-21 12:54:50 +00:00
pyup.io bot
d00cd42e6c
Update uvicorn to 0.32.1 (#5539) 2024-11-21 12:29:46 +00:00
dependabot[bot]
dc8a470a8f
Bump traefik from 3.2.0 to 3.2.1 (#5541) 2024-11-21 12:29:07 +00:00
github-actions
b1de740dff Release 2024.11.20 2024-11-21 02:30:23 +00:00
browniebroke
6215f17382 Update Contributors 2024-11-20 16:25:27 +00:00
Denis Darii
f440144fde
Fix typos in translation instructions in README (#5538) 2024-11-20 16:25:04 +00:00
dependabot[bot]
c97df5f755
Bump amazon/aws-cli (#5537) 2024-11-20 08:50:57 +00:00
Bruno Alla
28ec065561
Fix broken links in README
Fix #5535
2024-11-19 07:42:58 +00:00
github-actions
3b490ffd2f Release 2024.11.16 2024-11-17 02:31:56 +00:00
pyup.io bot
c357d9ef33
Update ruff to 0.7.4 (#5531) 2024-11-16 11:00:01 +00:00
github-actions
0bb37a3f1f Release 2024.11.15 2024-11-16 02:29:26 +00:00
pyup.io bot
1b9f3e7a48
Update coverage to 7.6.5 (#5529) 2024-11-15 09:46:37 +00:00
github-actions
d3ffe31bd0 Release 2024.11.14 2024-11-15 02:30:57 +00:00
dependabot[bot]
e03b0b0c7e
Bump amazon/aws-cli (#5528) 2024-11-14 07:56:59 +00:00
github-actions
08ba595f87 Release 2024.11.13 2024-11-14 02:28:06 +00:00
pyup.io bot
c5988b5c3c
Update werkzeug to 3.1.3 (#5524) 2024-11-13 10:38:33 +00:00
pyup.io bot
73f41e2425
Update ruff to 0.7.3 (#5521) 2024-11-13 10:05:52 +00:00
dependabot[bot]
555872e1c9
Bump amazon/aws-cli from 2.19.0 to 2.20.0 (#5527) 2024-11-13 10:04:53 +00:00
Bruno Alla
868db771f3
Merge pull request #5523 from cookiecutter/pyup-update-django-allauth-65.1.0-to-65.2.0 2024-11-13 10:04:32 +00:00
github-actions
cf375e934b Release 2024.11.08 2024-11-09 02:23:39 +00:00
pyup-bot
b932c9bf15 Update django-allauth from 65.1.0 to 65.2.0 2024-11-08 13:51:11 +00:00
github-actions
4e506b44f1 Release 2024.11.07 2024-11-08 02:26:52 +00:00
pyup.io bot
8d6c8ebed1
Update djlint to 1.36.1 (#5519) 2024-11-07 19:43:37 +00:00
github-actions
f8954e8a47 Release 2024.11.05 2024-11-06 02:26:15 +00:00
pyup.io bot
1e0c9ff2c1
Update djlint to 1.36.0 (#5517) 2024-11-05 08:21:05 +00:00
github-actions
06bfd2ebaa Release 2024.11.04 2024-11-05 02:26:45 +00:00
pyup.io bot
dd98112051
Update sentry-sdk to 2.18.0 (#5515) 2024-11-04 18:09:28 +00:00
github-actions
51ce542796 Release 2024.11.02 2024-11-03 02:30:16 +00:00
pyup.io bot
5136d3da99
Update ruff to 0.7.2 (#5510) 2024-11-02 18:51:49 +00:00
github-actions
f2a45a3ee7 Release 2024.11.01 2024-11-02 02:26:45 +00:00
pyup.io bot
33a7478559
Update djlint to 1.35.4 (#5508)
Co-authored-by: browniebroke <861044+browniebroke@users.noreply.github.com>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-11-01 12:21:39 +00:00
dependabot[bot]
8d5a4269fc
Bump amazon/aws-cli from 2.18.1 to 2.19.0 (#5507)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-01 09:55:01 +00:00
Bruno Alla
6b8d4dc856
Replace docs extra by docs dependency group from PEP 735 (#5493) 2024-10-31 19:57:08 +00:00
github-actions
4c95392321 Release 2024.10.30 2024-10-31 02:29:26 +00:00
github-actions[bot]
6b7c4aebda
Update pyproject-fmt pre-commit hook to v2.5.0 (#5505)
Co-authored-by: browniebroke <861044+browniebroke@users.noreply.github.com>
2024-10-30 17:01:41 +00:00
pyup.io bot
14ba82423e
Update djlint to 1.35.3 (#5503) 2024-10-30 13:19:12 +00:00
pyup.io bot
46795883b5
Update whitenoise from 6.8.1 to 6.8.2 (#5501) 2024-10-30 07:47:48 +00:00
browniebroke
5f9acfdf47 Update Contributors 2024-10-30 07:13:42 +00:00
Christian Jensen
9bef46c198
Small spelling correction (#5502)
Mimicing > Mimicking
2024-10-30 07:13:20 +00:00
github-actions
571f8787eb Release 2024.10.29 2024-10-30 02:28:45 +00:00
Bruno Alla
a062a146df
Merge pull request #5499 from cookiecutter/pyup-update-django-cors-headers-4.5.0-to-4.6.0
Update django-cors-headers to 4.6.0
2024-10-29 12:28:31 +00:00
pyup-bot
b40566e401 Update django-cors-headers from 4.5.0 to 4.6.0 2024-10-29 12:00:39 +00:00
Bruno Alla
63044a04cd
Merge pull request #5497 from cookiecutter/pyup-update-whitenoise-6.7.0-to-6.8.1 2024-10-29 08:45:01 +00:00
Bruno Alla
ab7f01c4d1
Merge pull request #5498 from cookiecutter/dependabot/docker/{{cookiecutter.project_slug}}/compose/production/traefik/traefik-3.2.0 2024-10-29 08:44:44 +00:00
dependabot[bot]
272ef407d6
Bump traefik
Bumps traefik from 3.1.6 to 3.2.0.

---
updated-dependencies:
- dependency-name: traefik
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-29 05:09:08 +00:00
pyup-bot
4377481f32 Update whitenoise from 6.7.0 to 6.8.1 2024-10-28 15:57:36 +00:00
github-actions
fb27881b33 Release 2024.10.26 2024-10-27 02:30:32 +00:00
Bruno Alla
d40abd321e
Merge pull request #5495 from cookiecutter/pyup-update-django-stubs-5.1.0-to-5.1.1
Update django-stubs to 5.1.1
2024-10-27 00:50:48 +01:00
Bruno Alla
f4afaf5ba3
Merge branch 'pyup-update-mypy-1.11.2-to-1.13.0' into pyup-update-django-stubs-5.1.0-to-5.1.1 2024-10-27 00:43:31 +01:00
Bruno Alla
231940644e
Merge branch 'master' into pyup-update-mypy-1.11.2-to-1.13.0 2024-10-27 00:39:35 +01:00
pyup-bot
e86fd33633 Update django-stubs from 5.1.0 to 5.1.1 2024-10-26 20:41:35 +01:00
pyup.io bot
19294ef8a0
Update werkzeug to 3.0.6 (#5492) 2024-10-26 12:57:56 +01:00
github-actions
60cc312918 Release 2024.10.25 2024-10-26 02:25:46 +00:00
Jelmer
17a1bf7e38
Merge pull request #5489 from cookiecutter/pyup-update-werkzeug-3.0.4-to-3.0.5
Update werkzeug to 3.0.5 and unpin watchdog<5
2024-10-25 10:15:51 +02:00
Bruno Alla
428fac8776
Remove watchdog pin <4
The issue that lead to this pinning should be fixed now: https://github.com/pallets/werkzeug/issues/2945
2024-10-25 09:01:28 +01:00
github-actions[bot]
0384b8f001
Auto-update pre-commit hooks (#5490)
Co-authored-by: browniebroke <861044+browniebroke@users.noreply.github.com>
2024-10-25 08:57:01 +01:00
github-actions
33a707dd9f Release 2024.10.24 2024-10-25 02:28:42 +00:00
pyup-bot
fb6549dc4d Update werkzeug from 3.0.4 to 3.0.5 2024-10-25 03:25:21 +01:00
pyup.io bot
109238f746
Update ruff to 0.7.1 (#5487) 2024-10-24 19:48:35 +01:00
pyup.io bot
244d7ac9cd
Update redis to 5.2.0 (#5486) 2024-10-24 17:30:20 +01:00
pyup.io bot
ceafff014e
Update django-allauth from 65.0.2 to 65.1.0 (#5485) 2024-10-24 07:44:01 +01:00
github-actions
b4737acb6d Release 2024.10.22 2024-10-23 02:28:14 +00:00
pyup-bot
fd05b1de21 Update mypy from 1.11.2 to 1.13.0 2024-10-23 01:14:36 +01:00
github-actions[bot]
edd8a8b315
Auto-update pre-commit hooks (#5483)
Co-authored-by: browniebroke <861044+browniebroke@users.noreply.github.com>
2024-10-22 07:39:35 +01:00
browniebroke
2533f72d61 Update Contributors 2024-10-22 06:39:29 +00:00
Mariot Tsitoara
020639f86f
Fix broken links in generated README.md (#5482) 2024-10-22 07:39:07 +01:00
github-actions
a829571997 Release 2024.10.21 2024-10-22 02:28:34 +00:00
Jelmer
9806ba7a36
Merge pull request #4861 from foarsitter/remove_celery_broker_url
Remove CELERY_BROKER_URL in favor of REDIS_URL
2024-10-21 22:21:25 +02:00
Jelmer Draaijer
8bf9a8c278 Add a default for REDIS_URL and add it as a variable to the settings 2024-10-21 22:10:42 +02:00
pyup.io bot
02f6336d74
Update coverage to 7.6.4 (#5480) 2024-10-21 10:12:40 +01:00
Bruno Alla
6f5f1b8576
Fix a number of issues with Azure storage (#5476) 2024-10-21 10:12:29 +01:00
github-actions
1b83a472ec Release 2024.10.17 2024-10-18 02:28:50 +00:00
Bruno Alla
8c1fac1b2e
Run uv lock when updating template version (#5478) 2024-10-17 21:38:22 +01:00
pyup.io bot
abc199d5ef
Update ruff to 0.7.0 (#5474) 2024-10-17 21:29:12 +01:00
github-actions[bot]
ca405049ad
Auto-update pre-commit hooks (#5475)
Co-authored-by: browniebroke <861044+browniebroke@users.noreply.github.com>
2024-10-17 19:10:50 +01:00
pyup.io bot
ae86e01779
Update uvicorn to 0.32.0 (#5471) 2024-10-17 12:52:53 +01:00
pyup.io bot
dc4d102477
Update pillow to 11.0.0 (#5470) 2024-10-17 12:52:42 +01:00
pyup.io bot
ff7874b316
Update sentry-sdk to 2.17.0 (#5473) 2024-10-17 12:52:13 +01:00
github-actions
67af42be0c Release 2024.10.15 2024-10-16 02:29:09 +00:00
github-actions[bot]
16b2c16b52
Auto-update pre-commit hooks (#5469)
Co-authored-by: browniebroke <861044+browniebroke@users.noreply.github.com>
2024-10-15 09:27:16 +01:00
github-actions
deb813ca05 Release 2024.10.14 2024-10-15 02:28:45 +00:00
Jelmer Draaijer
4709a30bd7 Remove CELERY_BROKER_URL in favor of REDIS_URL 2024-10-14 20:38:32 +02:00
Jelmer
62f39cda5e
Merge pull request #5463 from cookiecutter/pyup-update-sphinx-8.1.1-to-8.1.3
Update sphinx to 8.1.3
2024-10-14 20:34:10 +02:00
Jelmer
8831a8bd11
Merge pull request #5464 from cookiecutter/pyup-update-coverage-7.6.2-to-7.6.3
Update coverage to 7.6.3
2024-10-14 20:34:00 +02:00
pyup-bot
057562bf26 Update sphinx from 8.1.1 to 8.1.3 2024-10-14 19:33:59 +02:00
pyup-bot
04d6620733 Update coverage from 7.6.2 to 7.6.3 2024-10-14 19:33:48 +02:00
Jelmer
ccb0d974ed
Merge pull request #5467 from cookiecutter/5465-missing-os-requirements-for-ubuntu-latest
Add requirements for ubuntu 24.04
2024-10-14 19:33:17 +02:00
Jelmer Draaijer
b042b212b6 Add requirements for ubuntu 24.04 2024-10-14 19:12:10 +02:00
github-actions
a0c8863a9c Release 2024.10.12 2024-10-13 02:30:03 +00:00
Bruno Alla
931e300b63
Pin Python version to 3.12 (#5456)
* Pin Python version to 3.12

* Add back actions/setup-python to bare metal tests

* Revert "Add back actions/setup-python to bare metal tests"

This reverts commit cdee7e2da7.

* Update test_bare.sh to run commands via uv

* Skip uv lock on PRs from forks

* Revert "Update test_bare.sh to run commands via uv"

This reverts commit 56f839e2b4.

* Add back actions/setup-python to bare metal tests

* Only run uv lock workflow on dependabot PRs
2024-10-12 17:46:45 +01:00
Jelmer
822c1c0327
Merge pull request #5457 from cookiecutter/pyup-update-sphinx-8.0.2-to-8.1.1
Update sphinx to 8.1.1
2024-10-12 16:44:16 +02:00
Jelmer
98f4863a25
Merge pull request #5458 from cookiecutter/update/pre-commit-autoupdate
Auto-update pre-commit hooks
2024-10-12 16:44:06 +02:00
Jelmer
c1092f5194
Merge pull request #5459 from cookiecutter/pyup-update-django-cors-headers-4.4.0-to-4.5.0
Update django-cors-headers to 4.5.0
2024-10-12 16:43:58 +02:00
pyup-bot
abfc6b0ee2 Update django-cors-headers from 4.4.0 to 4.5.0 2024-10-12 10:59:48 +01:00
browniebroke
3f2155ab6e Auto-update pre-commit hooks 2024-10-12 02:36:29 +00:00
github-actions
92cf1daaf4 Release 2024.10.11 2024-10-12 02:25:39 +00:00
pyup-bot
209b54a628 Update sphinx from 8.0.2 to 8.1.1 2024-10-12 01:41:04 +01:00
Fábio C. Barrionuevo da Luz
54247e783e Update Nginx dependabot versioning-strategy
as a way to fix #5345 and #5344
2024-10-11 21:40:58 -03:00
luzfcb
6994914572 Update Contributors 2024-10-11 13:21:16 +00:00
Francisco Navarro Morales
b96e118f86 Update README.md broken links
Closes https://github.com/cookiecutter/cookiecutter-django/issues/5453
2024-10-11 10:20:56 -03:00
Jelmer
5fead041df
Merge pull request #5450 from cookiecutter/update/pre-commit-autoupdate
Auto-update pre-commit hooks
2024-10-11 11:45:32 +02:00
Jelmer
2eb0b22530
Merge pull request #5452 from foarsitter/wait-for-it
wait-for-it as dependency in the run stage
2024-10-11 11:45:18 +02:00
jelmert
dcde07d0ca wait-for-it as dependency in the run stage 2024-10-11 09:40:50 +02:00
pre-commit-ci[bot]
bee41248a4 Regenerate uv.lock 2024-10-11 02:39:02 +00:00
pre-commit-ci[bot]
4696302b22 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2024-10-11 02:38:44 +00:00
browniebroke
ed184d460a Auto-update pre-commit hooks 2024-10-11 02:38:35 +00:00
github-actions
1ebaddc204 Release 2024.10.10 2024-10-11 02:27:43 +00:00
pyup-bot
f3d4a9fcc7 Update sentry-sdk from 2.15.0 to 2.16.0 2024-10-10 09:42:32 -03:00
dependabot[bot]
44dc46997a
Bump traefik from 3.1.5 to 3.1.6 (#5449)
Bumps traefik from 3.1.5 to 3.1.6.

---
updated-dependencies:
- dependency-name: traefik
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-10 09:50:04 +01:00
github-actions
a0c599d978 Release 2024.10.09 2024-10-10 02:28:06 +00:00
pyup.io bot
0bd606922c
Update coverage to 7.6.2 (#5448) 2024-10-09 18:06:49 +01:00
github-actions
8fb90ab02a Release 2024.10.08 2024-10-09 02:28:04 +00:00
pyup.io bot
b66960ed2d
Update pre-commit to 4.0.1 (#5445) 2024-10-08 21:23:15 +01:00
Jelmer
9ada7ab125
Merge pull request #5443 from cookiecutter/dependabot/docker/{{cookiecutter.project_slug}}/compose/production/aws/amazon/aws-cli-2.18.1
Bump amazon/aws-cli from 2.18.0 to 2.18.1 in /{{cookiecutter.project_slug}}/compose/production/aws
2024-10-08 07:55:01 +02:00
Jelmer
c3ec0b020e
Merge pull request #5441 from cookiecutter/pre-commit-ci-update-config
[pre-commit.ci] pre-commit autoupdate
2024-10-08 07:54:52 +02:00
Jelmer
6a2effb67c
Merge pull request #5442 from cookiecutter/update/pre-commit-autoupdate
Auto-update pre-commit hooks
2024-10-08 07:54:41 +02:00
Bruno Alla
214e5f5d34
Use uv sync & uv run in docs build (#5440)
* Use uv sync to build the docs with Sphinx
2024-10-08 07:54:24 +02:00
dependabot[bot]
30295fefd2
Bump amazon/aws-cli
Bumps amazon/aws-cli from 2.18.0 to 2.18.1.

---
updated-dependencies:
- dependency-name: amazon/aws-cli
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-08 05:46:01 +00:00
browniebroke
c2caf522b5 Auto-update pre-commit hooks 2024-10-08 02:39:47 +00:00
github-actions
d95f88142c Release 2024.10.07 2024-10-08 02:29:35 +00:00
pre-commit-ci[bot]
49ed4a0267
[pre-commit.ci] pre-commit autoupdate
updates:
- [github.com/psf/black: 24.8.0 → 24.10.0](https://github.com/psf/black/compare/24.8.0...24.10.0)
2024-10-08 00:48:03 +00:00
Bruno Alla
c115b2e6de
Docs: fix Mailgun include in troubleshooting sections (#5439) 2024-10-07 20:25:38 +01:00
Bruno Alla
2d06ddda95
Migrate docs build to use uv (#5438)
Following the official docs:

https://docs.readthedocs.io/en/latest/build-customization.html#install-dependencies-with-uv
2024-10-07 15:43:09 -03:00
Bruno Alla
3252aa7ae7
Add workflow to run uv lock (#5422)
* Add workflow to keep uv.lock up to date

Should do the job for dependabot updates

* Only run uv lock workflow when GH_PAT is set

* Make a change to pyproject.toml

* Attempt to fix workflow syntax

* Attempt to fix workflow syntax

* Regenerate uv.lock
2024-10-07 11:12:25 +01:00
pyup.io bot
f590d14070
Update sphinx to 8.0.2 (#5263)
* Update sphinx from 7.4.7 to 8.0.2
2024-10-07 10:15:35 +02:00
Jelmer
d879c0b2ba
Merge pull request #5264 from cookiecutter/dependabot/pip/docs/sphinx-8.0.2
Bump sphinx from 7.4.7 to 8.0.2 in /docs
2024-10-07 10:09:22 +02:00
Jelmer
0d9fbfd729
Merge pull request #5432 from cookiecutter/pyup-update-pre-commit-3.8.0-to-4.0.0
Update pre-commit to 4.0.0
2024-10-07 10:07:22 +02:00
Jelmer
f86ebbbf3a
Merge pull request #5433 from cookiecutter/update/pre-commit-autoupdate
Auto-update pre-commit hooks
2024-10-07 10:07:03 +02:00
dependabot[bot]
907bfa5f6b Bump sphinx from 7.4.7 to 8.0.2 in /docs
Bumps [sphinx](https://github.com/sphinx-doc/sphinx) from 7.4.7 to 8.0.2.
- [Release notes](https://github.com/sphinx-doc/sphinx/releases)
- [Changelog](https://github.com/sphinx-doc/sphinx/blob/master/CHANGES.rst)
- [Commits](https://github.com/sphinx-doc/sphinx/compare/v7.4.7...v8.0.2)

---
updated-dependencies:
- dependency-name: sphinx
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-07 10:03:02 +02:00
Jelmer
877d81d618
Merge pull request #5437 from cookiecutter/pyup-update-sphinx-rtd-theme-2.0.0-to-3.0.0
Update sphinx-rtd-theme to 3.0.0
2024-10-07 10:00:02 +02:00
Jelmer
7d9f58bef5
Merge pull request #5436 from cookiecutter/dependabot/docker/{{cookiecutter.project_slug}}/compose/production/aws/amazon/aws-cli-2.18.0
Bump amazon/aws-cli from 2.17.0 to 2.18.0 in /{{cookiecutter.project_slug}}/compose/production/aws
2024-10-07 09:49:27 +02:00
pyup-bot
1a893456c3 Update sphinx-rtd-theme from 2.0.0 to 3.0.0 2024-10-07 08:49:25 +01:00
Jelmer
d826d2e6f0
Merge pull request #5435 from cookiecutter/dependabot/github_actions/astral-sh/setup-uv-3
Bump astral-sh/setup-uv from 2 to 3
2024-10-07 09:49:20 +02:00
dependabot[bot]
7114a1e1ba
Bump amazon/aws-cli
Bumps amazon/aws-cli from 2.17.0 to 2.18.0.

---
updated-dependencies:
- dependency-name: amazon/aws-cli
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-07 05:19:00 +00:00
dependabot[bot]
1bbd6d5fe4
Bump astral-sh/setup-uv from 2 to 3
Bumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) from 2 to 3.
- [Release notes](https://github.com/astral-sh/setup-uv/releases)
- [Commits](https://github.com/astral-sh/setup-uv/compare/v2...v3)

---
updated-dependencies:
- dependency-name: astral-sh/setup-uv
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-07 05:13:01 +00:00
browniebroke
29bd84b397 Auto-update pre-commit hooks 2024-10-06 02:40:22 +00:00
github-actions
52ce09e623 Release 2024.10.05 2024-10-06 02:30:10 +00:00
pyup-bot
ba3b48dcd9 Update pre-commit from 3.8.0 to 4.0.0 2024-10-05 21:03:13 +01:00
Jelmer
0cac725ca1
Merge pull request #5356 from foarsitter/uv
Replace pip with uv for the project files
2024-10-05 17:54:47 +02:00
jelmert
9a3e7ebf16 Use --frozen for running scripts to avoid updating the environment 2024-10-05 17:45:50 +02:00
Jelmer Draaijer
5c4abe5b78 Remove actions/setup-python steps because uv run and uv sync take care of installing python. 2024-10-05 17:45:50 +02:00
Jelmer Draaijer
0a291c1ec1 Replace pip with uv for the project files 2024-10-05 17:45:50 +02:00
pyup.io bot
a0af461794
Update crispy-bootstrap5 from 2024.2 to 2024.10 (#5430) 2024-10-05 11:31:15 -03:00
Bruno Alla
b0c45224f1
Group docs into sections (#5426) 2024-10-05 11:29:57 -03:00
Jelmer
6c64a810b4
Merge pull request #5327 from foarsitter/wait_for_it
Use wait-for-it in favor of the custom python script when waiting for postgres
2024-10-05 13:26:44 +02:00
Jelmer
56fce2b0e3
Merge pull request #5425 from cookiecutter/pyup-update-tox-4.20.0-to-4.21.2
Update tox to 4.21.2
2024-10-05 13:23:21 +02:00
Jelmer
37aa462a2d
Merge pull request #5424 from browniebroke/sphinx-auto-build-template
Add sphinx-autobuild to the template project and tidy up make files
2024-10-05 13:22:31 +02:00
github-actions
120ba0d07f Release 2024.10.04 2024-10-05 02:26:51 +00:00
pyup.io bot
732c8784fa
Update ruff to 0.6.9 (#5428) 2024-10-04 19:45:26 +01:00
pyup.io bot
2cbb3bd02d
Update redis to 5.1.1 (#5427) 2024-10-04 19:07:36 +01:00
github-actions
d703580c75 Release 2024.10.03 2024-10-04 02:28:30 +00:00
Bruno Alla
168aae17f2
Update source_suffix mapping 2024-10-03 16:16:16 -03:00
pyup-bot
5e582d0392 Update tox from 4.20.0 to 4.21.2 2024-10-03 19:00:52 +01:00
Bruno Alla
463d671ffc
Add sphinx-autobuild to the template project and tidy up make files 2024-10-03 10:06:36 -03:00
pyup.io bot
33c75ad251
Update sphinx-autobuild to 2024.10.3 (#5420) 2024-10-03 13:35:54 +01:00
dependabot[bot]
6f858e904b
Bump traefik from 3.1.4 to 3.1.5 (#5423)
Bumps traefik from 3.1.4 to 3.1.5.

---
updated-dependencies:
- dependency-name: traefik
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-03 13:35:32 +01:00
github-actions
9bbee5f84d Release 2024.10.02 2024-10-03 02:28:26 +00:00
Bruno Alla
12380e1e80
Update Heroku runtime version to 3.12.7 2024-10-02 12:20:06 +01:00
dependabot[bot]
e0819933ad
Bump python from 3.12.6 to 3.12.7 in docs Docker image (#5416)
Bumps python from 3.12.6-slim-bookworm to 3.12.7-slim-bookworm.

---
updated-dependencies:
- dependency-name: python
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-02 12:19:16 +01:00
dependabot[bot]
ec499fa0ac
Bump python from 3.12.6 to 3.12.7 in local Docker image (#5415)
Bumps python from 3.12.6-slim-bookworm to 3.12.7-slim-bookworm.

---
updated-dependencies:
- dependency-name: python
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-02 12:18:54 +01:00
dependabot[bot]
9379027267
Bump python from 3.12.6 to 3.12.7 production Docker (#5414)
Bumps python from 3.12.6-slim-bookworm to 3.12.7-slim-bookworm.

---
updated-dependencies:
- dependency-name: python
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-02 12:18:28 +01:00
github-actions
f8ef6c6251 Release 2024.10.01 2024-10-02 02:28:03 +00:00
pyup.io bot
faba566d31
Update sentry-sdk to 2.15.0 (#5413) 2024-10-01 17:28:38 +01:00
github-actions
60adaa716d Release 2024.09.29 2024-09-30 02:30:57 +00:00
pyup.io bot
053543d8d2
Update psycopg to 3.2.3 (#5411)
* Update psycopg from 3.2.2 to 3.2.3

* Update psycopg from 3.2.2 to 3.2.3

* Update psycopg from 3.2.2 to 3.2.3
2024-09-29 18:34:27 -04:00
github-actions
866e6293ba Release 2024.09.28 2024-09-29 02:30:33 +00:00
pyup.io bot
748382c95e
Update uvicorn to 0.31.0 (#5408) 2024-09-28 16:19:23 +01:00
github-actions
80680fe7ce Release 2024.09.27 2024-09-28 02:26:59 +00:00
pyup-bot
5023e549e1 Update redis from 5.0.8 to 5.1.0 2024-09-27 15:41:53 -03:00
pyup.io bot
811b3010b9
Update django-allauth to 65.0.2 (#5405) 2024-09-27 11:48:35 +01:00
github-actions
9de28fc3a8 Release 2024.09.26 2024-09-27 02:28:40 +00:00
pyup.io bot
4e7a412b8b
Update ruff to 0.6.8 (#5402)
* Update ruff from 0.6.7 to 0.6.8

* Update ruff from 0.6.7 to 0.6.8

* Update ruff pre-commit hook (#5403)

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-09-26 15:40:38 -03:00
github-actions
8329947a23 Release 2024.09.24 2024-09-25 02:28:53 +00:00
Jelmer
5e9d60687b
Merge pull request #5400 from cookiecutter/pyup-update-django-stubs-5.0.4-to-5.1.0
Update django-stubs to 5.1.0
2024-09-24 08:51:36 +02:00
github-actions
bf67fe405d Release 2024.09.23 2024-09-24 02:28:26 +00:00
pyup-bot
f3397536d4 Update django-stubs from 5.0.4 to 5.1.0 2024-09-23 20:40:11 +01:00
Jelmer
4fc2dec1de
Merge pull request #5399 from cookiecutter/pyup-update-django-allauth-65.0.0-to-65.0.1
Update django-allauth to 65.0.1
2024-09-23 18:03:44 +02:00
pyup-bot
fc6a38ea83 Update django-allauth from 65.0.0 to 65.0.1 2024-09-23 16:54:11 +01:00
foarsitter
77813a90ab Update Contributors 2024-09-23 14:40:35 +00:00
Jelmer
2b375243d0
Merge pull request #5347 from ljfp/sphinx-makefile-fix
Fix Makefile and make.bat files used for automatic generation of documentation.
2024-09-23 16:39:58 +02:00
Jelmer
eb67667215
Merge pull request #5392 from cookiecutter/update/pre-commit-autoupdate
Auto-update pre-commit hooks
2024-09-23 15:14:49 +02:00
Jelmer
d5ab2a1d13
Merge pull request #5393 from cookiecutter/pyup-update-django-allauth-64.2.1-to-65.0.0
Update django-allauth to 65.0.0
2024-09-23 15:13:35 +02:00
pyup.io bot
a0d6949877
Update ruff to 0.6.7 (#5394)
* Update ruff from 0.6.6 to 0.6.7

* Update ruff from 0.6.6 to 0.6.7
2024-09-23 15:13:20 +02:00
pyup-bot
af9b0bcc40 Update django-allauth from 64.2.1 to 65.0.0 2024-09-22 10:53:07 +01:00
browniebroke
ec4438a1fd Auto-update pre-commit hooks 2024-09-22 02:39:44 +00:00
github-actions
37a20861db Release 2024.09.21 2024-09-22 02:29:46 +00:00
github-actions[bot]
d0ddb001a0
Auto-update pre-commit hooks (#5391)
Co-authored-by: browniebroke <861044+browniebroke@users.noreply.github.com>
2024-09-21 11:38:40 -03:00
github-actions
c3345e1ece Release 2024.09.20 2024-09-21 02:24:35 +00:00
pyup-bot
2396bfbca6 Update sphinx-autobuild from 2024.9.17 to 2024.9.19 2024-09-20 02:19:24 -03:00
dependabot[bot]
7f07b02a84 Bump traefik
Bumps traefik from 3.1.3 to 3.1.4.

---
updated-dependencies:
- dependency-name: traefik
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-20 02:18:21 -03:00
pyup-bot
d1e3391532 Update ruff from 0.6.5 to 0.6.6 2024-09-20 02:17:04 -03:00
pyup-bot
f1b5b66347 Update ruff from 0.6.5 to 0.6.6 2024-09-20 02:17:04 -03:00
pyup-bot
63abaaadf8 Update tox from 4.19.0 to 4.20.0 2024-09-20 02:16:26 -03:00
github-actions[bot]
aab05d33f1
Auto-update pre-commit hooks (#5384)
Co-authored-by: browniebroke <861044+browniebroke@users.noreply.github.com>
2024-09-18 10:37:12 +01:00
github-actions
1dc0244a60 Release 2024.09.17 2024-09-18 02:25:01 +00:00
pyup.io bot
a5ca04c66f
Update sphinx-autobuild from 2024.9.3 to 2024.9.17 (#5382) 2024-09-17 18:56:50 -03:00
pyup.io bot
c0b9054486
Update tox from 4.18.1 to 4.19.0 (#5381) 2024-09-17 18:56:21 -03:00
Patrick Tran
caae3ce205
Update deployment-on-heroku.rst (#5383)
This option is now longer valid

```
$ heroku addons:create heroku-postgresql:mini

 ›   Warning: heroku update available from 8.11.5 to 9.2.1.
Creating heroku-postgresql:mini on ⬢ location-tracker... !
 ▸    We tried to create heroku-postgresql:mini, but received an error from the add-on provider. Try the request again, or log a support ticket and include
 ▸    this message: The mini plan has reached end-of-life. You can try again with a valid plan. See the available plans with: heroku addons:plans
 ▸    heroku-postgresql.
```

The next cheapest heroku option is "essentials-0"

```
$ heroku addons:create heroku-postgresql:essential-0

 ›   Warning: heroku update available from 8.11.5 to 9.2.1.
Creating heroku-postgresql:essential-0 on ⬢ location-tracker... ~$0.007/hour (max $5/month)
Database should be available soon
postgresql-silhouetted-14783 is being created in the background. The app will restart when complete...
Use heroku addons:info postgresql-silhouetted-14783 to check creation progress
Use heroku addons:docs heroku-postgresql to view documentation
```

documentation: https://elements.heroku.com/addons/heroku-postgresql
2024-09-17 18:46:45 -03:00
Bruno Alla
6f15595e85
Update heroku runtime to latest version 2024-09-17 18:40:00 -03:00
browniebroke
6471d600d5 Update Contributors 2024-09-17 21:36:32 +00:00
Alex Kanavos
8431c36225
Set allauth email subject prefix (#5278)
* change email subject prefix variable name in settings

* Update {{cookiecutter.project_slug}}/config/settings/production.py

Co-authored-by: Bruno Alla <browniebroke@users.noreply.github.com>

---------

Co-authored-by: Alex Kanavos <alexkanv@gmail.com>
Co-authored-by: Bruno Alla <browniebroke@users.noreply.github.com>
2024-09-17 22:35:57 +01:00
dependabot[bot]
ac990f6524
Bump traefik from 3.1.2 to 3.1.3 (#5380)
Bumps traefik from 3.1.2 to 3.1.3.

---
updated-dependencies:
- dependency-name: traefik
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-17 10:05:02 +01:00
github-actions
f3b3d1432f Release 2024.09.16 2024-09-17 02:12:39 +00:00
pyup.io bot
c82e825509
Update psycopg to 3.2.2 (#5378) 2024-09-16 13:47:40 +01:00
github-actions
09314028a0 Release 2024.09.15 2024-09-16 02:30:02 +00:00
pyup.io bot
0b43f145b2
Update ruff to 0.6.5 (#5373)
* Update ruff from 0.6.4 to 0.6.5

* Update ruff from 0.6.4 to 0.6.5

* Auto-update pre-commit hooks (#5375)

Co-authored-by: browniebroke <861044+browniebroke@users.noreply.github.com>

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: browniebroke <861044+browniebroke@users.noreply.github.com>
2024-09-15 14:15:36 +01:00
github-actions
1f6b8b4791 Release 2024.09.11 2024-09-12 02:24:35 +00:00
pyup.io bot
f313362907
Update djangorestframework-stubs from 3.15.0 to 3.15.1 (#5372) 2024-09-12 00:34:54 +01:00
pyup.io bot
043ecd7bcb
Update django-anymail to 12.0 (#5366) 2024-09-11 16:38:10 +01:00
github-actions
0c11f9c602 Release 2024.09.10 2024-09-11 02:23:46 +00:00
pyup.io bot
a882f40676
Update pytest to 8.3.3 (#5371)
* Update pytest from 8.3.2 to 8.3.3

* Update pytest from 8.3.2 to 8.3.3
2024-09-10 21:18:30 +01:00
Fábio C. Barrionuevo da Luz
69be07f387 Add nginx container to dependabot 2024-09-10 07:50:30 -03:00
dependabot[bot]
e567d058b3
Bump postcss-preset-env from 9.6.0 to 10.0.3 (#5368) 2024-09-10 10:09:16 +01:00
dependabot[bot]
d841c79d48
Bump concurrently from 8.2.2 to 9.0.0 (#5363) 2024-09-10 10:07:45 +01:00
dependabot[bot]
4865e056c5
Bump python to 3.12.6 in local Docker (#5370) 2024-09-10 10:05:08 +01:00
dependabot[bot]
40de2dea1d
Bump python to 3.12.6 in production Docker (#5367) 2024-09-10 10:04:55 +01:00
dependabot[bot]
9f1037ab18
Bump python to 3.12.6 in docs Docker image (#5369) 2024-09-10 10:04:37 +01:00
github-actions
50a8c2b498 Release 2024.09.09 2024-09-10 02:24:49 +00:00
pyup.io bot
8f8f87df51
Update sentry-sdk to 2.14.0 (#5365) 2024-09-09 15:54:22 +01:00
dependabot[bot]
ab36a6112e
Bump tiangolo/issue-manager from 0.5.0 to 0.5.1 (#5364) 2024-09-09 09:27:35 +01:00
github-actions[bot]
3e253ccb1a
Auto-update pre-commit hooks (#5362)
Co-authored-by: browniebroke <861044+browniebroke@users.noreply.github.com>
2024-09-09 09:12:09 +01:00
github-actions
2c90ff55a3 Release 2024.09.08 2024-09-09 02:26:25 +00:00
github-actions[bot]
8559078fd4
Auto-update pre-commit hooks (#5357) 2024-09-08 17:28:34 +01:00
pyup.io bot
1f7fa64df5
Update tox from 4.18.0 to 4.18.1 (#5358) 2024-09-08 17:28:06 +01:00
browniebroke
ef53145219 Update Contributors 2024-09-08 15:22:51 +00:00
Marlon Castillo
66ebc4ecaa
Remove storages from INSTALLED_APPS (#5361)
"storages" does not need to be added to INSTALLED_APPS: https://github.com/jschneier/django-storages/pull/547
2024-09-08 16:22:16 +01:00
github-actions
a437e493b1 Release 2024.09.07 2024-09-08 02:27:07 +00:00
foarsitter
e956b831a5 Update Contributors 2024-09-07 23:45:21 +00:00
rxm7706
ab84c2181a
Fix Requires Python to allow minor versions (#5360) 2024-09-08 01:44:46 +02:00
github-actions
1a2bcc5c47 Release 2024.09.06 2024-09-07 02:21:48 +00:00
Jelmer
d6f18f04a9
Remove empty setup.py and references to it (#5355) 2024-09-06 17:30:55 +02:00
Jelmer
ea4cd48e6c
Merge setup.py in pyproject.toml (#5351)
* Merge setup.py into pyproject.toml and add pyproject-fmt pre-commit hook for formatting it
2024-09-06 14:05:26 +02:00
pyup.io bot
e2a47bf83f
Update ruff to 0.6.4 (#5354) 2024-09-06 12:45:03 +01:00
pyup.io bot
9b289081af
Update django-allauth to 64.2.1 (#5352) 2024-09-06 10:08:14 +01:00
github-actions[bot]
2d0a8fb4f7
Auto-update pre-commit hooks (#5353)
Co-authored-by: browniebroke <861044+browniebroke@users.noreply.github.com>
2024-09-06 10:07:44 +01:00
github-actions
1a141ef29b Release 2024.09.05 2024-09-06 02:23:41 +00:00
pyup-bot
7ab86a7c0e Update django-upgrade from 1.20.0 to 1.21.0 2024-09-05 14:49:41 -03:00
LJFP
c44f6f6372 Fix Makefile and make.bat files for doc generation using sphinx-build. They were using a non-existent Builder called "help". I changed it to "html" since that is the one used by sphinx-autobuild. 2024-09-05 10:02:48 +02:00
github-actions
d4030f123a Release 2024.09.04 2024-09-05 02:23:46 +00:00
pyup.io bot
473ae8c059
Update django-model-utils to 5.0.0 (#5343) 2024-09-04 15:29:35 +01:00
dependabot[bot]
fec82ed7f7
Bump peter-evans/create-pull-request from 6 to 7 (#5342) 2024-09-04 08:08:18 +01:00
github-actions
16ff35eecc Release 2024.09.03 2024-09-04 02:23:21 +00:00
pyup.io bot
4f9c697e59
Update django to 5.0.9 (#5341) 2024-09-03 19:44:32 +01:00
pyup.io bot
e782791abc
Update sphinx-autobuild to 2024.9.3 (#5340) 2024-09-03 11:40:37 +01:00
browniebroke
27c654c637 Update Contributors 2024-09-03 07:54:58 +00:00
Will
b7fc1973ad
Pin watchdog to 4.0.2 (#5335)
Watchdog 5.0.0 was recently released. This update causes Werkzeug to reload the Django server much more frequently than desired (causing the local docker development build to barely load).
2024-09-03 08:54:26 +01:00
github-actions
ede7c843a6 Release 2024.09.02 2024-09-03 02:22:27 +00:00
browniebroke
b30af679f4 Auto-update pre-commit hooks 2024-09-02 15:58:56 -03:00
pyup-bot
aa1f8a803b Update django-allauth from 64.1.0 to 64.2.0 2024-09-02 15:44:46 -03:00
pyup-bot
c9e7693559 Update pytest-django from 4.8.0 to 4.9.0 2024-09-02 15:44:22 -03:00
github-actions
e443763e35 Release 2024.08.30 2024-08-31 02:22:10 +00:00
pyup.io bot
f3c0b39928
Update django-webpack-loader from 3.1.0 to 3.1.1 (#5336) 2024-08-30 21:10:41 +01:00
github-actions
5a53905f8f Release 2024.08.29 2024-08-30 02:23:22 +00:00
pyup.io bot
b1bfcfe182
Update ruff to 0.6.3 (#5333) 2024-08-29 20:23:17 +01:00
pyup-bot
83fbf9a770 Update djlint from 1.34.2 to 1.35.2 2024-08-29 11:51:28 -03:00
pyup-bot
5b5df8c0b6 Update djlint from 1.34.2 to 1.35.2 2024-08-29 11:51:28 -03:00
github-actions[bot]
6b7ca732dc
Auto-update pre-commit hooks (#5331) 2024-08-29 09:16:03 +01:00
github-actions
61ce28ba81 Release 2024.08.28 2024-08-29 02:22:40 +00:00
pyup.io bot
d564f453a6
Update watchfiles to 0.24.0 (#5330) 2024-08-28 18:26:55 +01:00
pyup.io bot
9fcb4fc27e
Update djlint to 1.34.2 (#5329)
* Update djlint from 1.34.1 to 1.34.2

* Update djlint from 1.34.1 to 1.34.2
2024-08-28 18:06:11 +01:00
jelmert
6f3b72d691 Use wait-for-it in favor of the custom python script when waiting for postgres 2024-08-27 13:23:06 +02:00
github-actions
2ff8a5f0d2 Release 2024.08.26 2024-08-27 02:20:56 +00:00
Johnny Metz
e90704fdae
Remove unnecessary --dry-run flag (#5323) 2024-08-26 10:01:48 +02:00
pyup.io bot
44ef825101
Update pygithub from 2.3.0 to 2.4.0 (#5326) 2024-08-26 10:00:41 +02:00
browniebroke
31bfe6de12 Update Contributors 2024-08-26 07:52:55 +00:00
Johnny Metz
2a6d2cc23c
Check DB migrations in GitHub CI (#5322) 2024-08-26 09:52:17 +02:00
pyup.io bot
6e1bab9df0
Update mypy from 1.11.1 to 1.11.2 (#5320) 2024-08-26 09:49:34 +02:00
github-actions
f947c612fa Release 2024.08.23 2024-08-24 02:19:36 +00:00
pyup.io bot
1bbe30c9b9
Update werkzeug from 3.0.3 to 3.0.4 (#5313) 2024-08-23 08:34:55 +02:00
pyup.io bot
e869ad8eaf
Update ruff to 0.6.2 (#5316) 2024-08-23 08:33:13 +02:00
github-actions
4bbc2a7fe6 Release 2024.08.22 2024-08-23 02:20:10 +00:00
pyup-bot
9b0ce11d1d Update django-celery-beat from 2.6.0 to 2.7.0 2024-08-22 17:30:20 -03:00
github-actions
b974fa0ee8 Release 2024.08.21 2024-08-22 02:20:25 +00:00
Bruno Alla
69927387f8
Add type hint for UserFactory (#5312)
Since factory-boy 3.3.1, we can type annotate factories:

https://github.com/FactoryBoy/factory_boy/pull/1059

Setting that up for the only factory of the project
2024-08-21 10:35:20 +01:00
Bruno Alla
f28b74f2df
Update changelog 2024-08-21 10:06:24 +02:00
github-actions
a906529b32 Release 2024.08.20 2024-08-21 02:19:50 +00:00
dependabot[bot]
9321a9ba43
Bump sass-loader from 14.2.1 to 16.0.1 (#5309) 2024-08-20 12:24:04 +02:00
dependabot[bot]
ce92e1e944
Bump node from 20 to 22 (#5039) 2024-08-20 12:21:49 +02:00
dependabot[bot]
165b1ef6b5
Bump webpack-merge from 5.10.0 to 6.0.1 (#5187) 2024-08-20 10:47:46 +01:00
dependabot[bot]
2e779508e6
Bump css-loader from 6.11.0 to 7.1.2 (#5089) 2024-08-20 10:39:48 +01:00
dependabot[bot]
6100821a35
Bump traefik from 2.11.2 to 3.1.2 (#5282) 2024-08-20 10:20:40 +01:00
github-actions
d8a2d2fa9d Release 2024.08.19 2024-08-20 02:19:38 +00:00
luzfcb
ab4ed1a135 Update Contributors 2024-08-20 00:54:41 +00:00
jtmy
8af7634e94 Fix missing extra_body block in allauth entrance.html 2024-08-19 21:54:05 -03:00
pyup-bot
0836abca26 Update factory-boy from 3.3.0 to 3.3.1 2024-08-19 12:50:31 -03:00
github-actions
f8ca5c2aaf Release 2024.08.17 2024-08-18 02:20:59 +00:00
pyup.io bot
5900b39179
Update ruff to 0.6.1 (#5303)
* Update ruff from 0.6.0 to 0.6.1

* Update ruff from 0.6.0 to 0.6.1

* Auto-update pre-commit hooks

---------

Co-authored-by: browniebroke <861044+browniebroke@users.noreply.github.com>
Co-authored-by: Bruno Alla <browniebroke@users.noreply.github.com>
2024-08-17 19:17:11 +02:00
github-actions
d8051c9db2 Release 2024.08.16 2024-08-17 02:18:19 +00:00
pyup.io bot
47e63900cf
Update django-allauth to 64.1.0 (#5302) 2024-08-16 09:10:35 +01:00
github-actions
864581a13e Release 2024.08.15 2024-08-16 02:19:46 +00:00
pyup.io bot
dc0a511353
Update ruff to 0.6.0 (#5300)
* Update ruff from 0.5.7 to 0.6.0

* Update ruff from 0.5.7 to 0.6.0

* Update Ruff pre-commit hook

* Update pytest style to match update Ruff rules

* Switch Ruff setting from exclude to extend-exclude

* Omit default Ruff settings

---------

Co-authored-by: Bruno Alla <alla.brunoo@gmail.com>
2024-08-15 16:36:59 +01:00
github-actions
a97d2b8b66 Release 2024.08.13 2024-08-14 02:19:57 +00:00
pyup-bot
c812519624 Update tox from 4.17.1 to 4.18.0 2024-08-13 17:07:14 -03:00
pyup-bot
623007f769 Update sentry-sdk from 2.12.0 to 2.13.0 2024-08-13 13:12:05 -03:00
pyup-bot
411225bf67 Update uvicorn from 0.30.5 to 0.30.6 2024-08-13 11:20:46 -03:00
github-actions
1fc66d0ecf Release 2024.08.12 2024-08-13 02:20:35 +00:00
pyup-bot
89a1efc2a3 Update gunicorn from 22.0.0 to 23.0.0 2024-08-12 16:12:30 -03:00
github-actions
5ba04c6c78 Release 2024.08.09 2024-08-10 02:19:39 +00:00
github-actions[bot]
b1089c254c
Update Ruff pre-commit hook to v0.5.7 (#5293)
Co-authored-by: browniebroke <861044+browniebroke@users.noreply.github.com>
2024-08-09 09:19:12 +01:00
github-actions
cf1ce9e45f Release 2024.08.08 2024-08-09 02:20:23 +00:00
pyup-bot
851155656d Update ruff from 0.5.6 to 0.5.7 2024-08-08 14:48:10 -03:00
pyup-bot
734faf13ea Update ruff from 0.5.6 to 0.5.7 2024-08-08 14:48:10 -03:00
Bruno Alla
07af107e1e
Update Heroku Python runtime 2024-08-08 12:13:18 +01:00
dependabot[bot]
4b683d86d2 Bump python in /{{cookiecutter.project_slug}}/compose/local/docs
Bumps python from 3.12.4-slim-bookworm to 3.12.5-slim-bookworm.

---
updated-dependencies:
- dependency-name: python
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-08 06:33:21 -03:00
dependabot[bot]
774176f9be Bump python in /{{cookiecutter.project_slug}}/compose/local/django
Bumps python from 3.12.4-slim-bookworm to 3.12.5-slim-bookworm.

---
updated-dependencies:
- dependency-name: python
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-08 06:32:52 -03:00
dependabot[bot]
89d1ae1536 Bump python in /{{cookiecutter.project_slug}}/compose/production/django
Bumps python from 3.12.4-slim-bookworm to 3.12.5-slim-bookworm.

---
updated-dependencies:
- dependency-name: python
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-08 06:32:16 -03:00
github-actions
4e3768145b Release 2024.08.07 2024-08-08 02:19:59 +00:00
pyup-bot
532941a418 Update tox from 4.17.0 to 4.17.1 2024-08-07 20:51:12 -03:00
pyup-bot
75464de512 Update django-anymail from 11.0.1 to 11.1 2024-08-07 20:50:37 -03:00
pyup-bot
1c23f83fc4 Update django-anymail from 11.0.1 to 11.1 2024-08-07 20:50:37 -03:00
pyup-bot
107d0125af Update django-anymail from 11.0.1 to 11.1 2024-08-07 20:50:37 -03:00
pyup-bot
d0fa1e473d Update django-anymail from 11.0.1 to 11.1 2024-08-07 20:50:37 -03:00
pyup-bot
54dca549d3 Update django-anymail from 11.0.1 to 11.1 2024-08-07 20:50:37 -03:00
pyup-bot
ced3148af6 Update django-anymail from 11.0.1 to 11.1 2024-08-07 20:50:37 -03:00
pyup-bot
f2f1ef6cd4 Update django-anymail from 11.0.1 to 11.1 2024-08-07 20:50:37 -03:00
pyup-bot
68814e94e2 Update django-anymail from 11.0.1 to 11.1 2024-08-07 20:50:37 -03:00
pyup-bot
c8165ef92c Update django-anymail from 11.0.1 to 11.1 2024-08-07 20:50:37 -03:00
pyup.io bot
358b26a0d6
Update pyyaml to 6.0.2 (#5284) 2024-08-07 13:46:04 +01:00
github-actions
e1354239d8 Release 2024.08.06 2024-08-07 02:20:20 +00:00
pyup.io bot
5846b051cb
Update django to 5.0.8 (#5281) 2024-08-06 17:03:46 +01:00
pyup.io bot
936fc52602
Update tox from 4.16.0 to 4.17.0 (#5280) 2024-08-06 08:44:44 +01:00
github-actions
af50d11191 Release 2024.08.05 2024-08-06 02:19:20 +00:00
Jimmy Gitonga
3cbe3b2a90
Resolve https documentation around local development environment (#5252) 2024-08-05 20:40:12 +01:00
browniebroke
0576726cab Update Contributors 2024-08-05 19:14:39 +00:00
Kevin Mills
7390948fc5
Update README.md (#5275)
Add new Medium story in the Articles section
2024-08-05 20:12:30 +01:00
pyup.io bot
875d9200cf
Update coverage to 7.6.1 (#5276) 2024-08-05 20:10:52 +01:00
pyup.io bot
e6916a858a
Update myst-parser to 4.0.0 (#5279) 2024-08-05 20:10:21 +01:00
github-actions[bot]
775c7730f6
Auto-update pre-commit hooks (#5277)
Co-authored-by: browniebroke <861044+browniebroke@users.noreply.github.com>
2024-08-05 11:33:11 +01:00
github-actions
74c5794a72 Release 2024.08.04 2024-08-05 02:20:10 +00:00
pyup.io bot
a7f34df264
Update uvicorn from 0.30.4 to 0.30.5 (#5272) 2024-08-04 11:36:12 +01:00
pyup.io bot
f56562db79
Update ruff to 0.5.6 (#5273)
* Update ruff from 0.5.5 to 0.5.6

* Update ruff from 0.5.5 to 0.5.6
2024-08-04 11:35:58 +01:00
github-actions[bot]
739ba6206b
Auto-update pre-commit hooks (#5274)
Co-authored-by: browniebroke <861044+browniebroke@users.noreply.github.com>
2024-08-04 11:35:41 +01:00
github-actions
a2b1055e16 Release 2024.07.31 2024-08-01 02:23:00 +00:00
pyup.io bot
75a9da3de2
Update uvicorn from 0.30.3 to 0.30.4 (#5271) 2024-07-31 23:08:44 +01:00
pyup.io bot
20db5f1315
Update mypy to 1.11.1 (#5270) 2024-07-31 15:23:25 +01:00
pyup.io bot
bb053b0497
Update pre-commit to 3.8.0 (#5257) 2024-07-31 15:14:24 +01:00
github-actions[bot]
0d9ffe5d7a
Update pyupgrade pre-commit hook to v3.17.0 (#5258)
Co-authored-by: browniebroke <861044+browniebroke@users.noreply.github.com>
2024-07-31 15:13:42 +01:00
Bruno Alla
3cca3c0bbe
Merge pull request #5265 from cookiecutter/pyup-update-redis-5.0.7-to-5.0.8
Update redis to 5.0.8
2024-07-31 15:12:48 +01:00
Bruno Alla
5a61a0c828
Merge pull request #5231 from cookiecutter/pyup-update-mypy-1.10.0-to-1.11.0
Update mypy to 1.11.0
2024-07-31 15:11:25 +01:00
Bruno Alla
4413b25706
Remove compatible-mypy extra from djangorestframework-stubs
Looks like the latest version should work with mypy 1.11:
https://github.com/typeddjango/djangorestframework-stubs/pull/642
2024-07-31 15:02:59 +01:00
pyup.io bot
4c27a59678
Update django-allauth to 64.0.0 (#5269) 2024-07-31 14:59:08 +01:00
pyup.io bot
db496f9c0c
Update sentry-sdk to 2.12.0 (#5268) 2024-07-31 14:58:50 +01:00
pyup-bot
8f4c31cf8c Update redis from 5.0.7 to 5.0.8 2024-07-30 17:41:25 +01:00
Bruno Alla
57d8c200e4
Merge remote-tracking branch 'refs/remotes/upstream/pyup-update-django-stubs-5.0.2-to-5.0.4' into pyup-update-mypy-1.10.0-to-1.11.0
# Conflicts:
#	{{cookiecutter.project_slug}}/requirements/local.txt
2024-07-30 09:18:44 +01:00
pyup-bot
676aa25a37 Update django-stubs from 5.0.2 to 5.0.4 2024-07-28 20:40:32 +01:00
Bruno Alla
429f468100
Revert to simpler type guard fix 2024-07-28 10:27:20 +02:00
Bruno Alla
bb8a1b6637
Add AuthenticatedHttpRequest type for helping with LoginRequiredMixin views 2024-07-28 10:18:38 +02:00
Bruno Alla
6355464230
Add type guard 2024-07-28 10:04:55 +02:00
Bruno Alla
a8105bdc9f
Fix signature for UserUpdateView.get_object 2024-07-28 09:59:08 +02:00
Bruno Alla
dd15c83977
Merge remote-tracking branch 'refs/remotes/upstream/pyup-update-django-stubs-5.0.2-to-5.0.3' into pyup-update-mypy-1.10.0-to-1.11.0
# Conflicts:
#	{{cookiecutter.project_slug}}/requirements/local.txt
2024-07-28 09:51:48 +02:00
pyup-bot
9b42473bad
Update mypy from 1.10.0 to 1.11.0 2024-07-28 09:51:35 +02:00
pyup-bot
4c24e7fb18 Update django-stubs from 5.0.2 to 5.0.3 2024-07-28 08:40:30 +01:00
github-actions
207a9e576c Release 2024.07.26 2024-07-27 02:18:07 +00:00
pyup.io bot
1af0757340
Update ruff to 0.5.5 (#5250) 2024-07-26 08:20:02 +01:00
github-actions
2b1c6e9f50 Release 2024.07.25 2024-07-26 02:19:01 +00:00
pyup.io bot
55cf48c4f3
Update pytest to 8.3.2 (#5249)
* Update pytest from 8.3.1 to 8.3.2

* Update pytest from 8.3.1 to 8.3.2
2024-07-25 13:23:43 +01:00
Bruno Alla
5caa9c0160
Upgrade to Django 5.0 (#5199) 2024-07-25 13:18:03 +01:00
pyup.io bot
a6fcb62e19
Update sentry-sdk to 2.11.0 (#5247) 2024-07-25 13:17:09 +01:00
github-actions
4540098afc Release 2024.07.24 2024-07-25 02:18:59 +00:00
Hoai-Thu Vuong
69c3b4c0cb fix non existent of two scoops of django image 2024-07-24 16:20:38 -03:00
github-actions
b0e6b5ef76 Release 2024.07.23 2024-07-24 02:18:58 +00:00
hleroy
12e9dc753c Added back CMD command
Clearning the ENTRYPOINT also clears the CMD. We need to set explicitly CMD again.
2024-07-23 12:57:00 -03:00
browniebroke
bee2e414b7 Update Contributors 2024-07-23 06:54:27 +00:00
Filipe Nascimento
12c5eacb0c
Downgrade watchfiles from 0.22 to 0.21 (#5243) 2024-07-23 07:53:52 +01:00
github-actions
3858e90528 Release 2024.07.22 2024-07-23 02:19:07 +00:00
pyup-bot
34803624eb Update django-compressor from 4.5 to 4.5.1 2024-07-22 10:46:52 -03:00
github-actions
41b50bcb7d Release 2024.07.21 2024-07-22 02:20:42 +00:00
pyup.io bot
a6fc34eeea
Update ruff to 0.5.4 (#5237) 2024-07-21 10:59:59 +01:00
pyup.io bot
75123bd4ec
Update pytest to 8.3.1 (#5236)
* Update pytest from 8.2.2 to 8.3.1

* Update pytest from 8.2.2 to 8.3.1
2024-07-21 10:48:14 +01:00
pyup.io bot
22e2715c82
Update sphinx to 7.4.7 (#5235)
* Update sphinx from 7.4.6 to 7.4.7

* Update sphinx from 7.4.6 to 7.4.7
2024-07-21 10:46:30 +01:00
github-actions
e6bd8d1a2a Release 2024.07.20 2024-07-21 02:20:10 +00:00
pyup.io bot
e4a2a46c68
Update hiredis to 3.0.0 (#5228) 2024-07-20 16:47:04 +02:00
pyup.io bot
b5d7460ae1
Update uvicorn from 0.30.1 to 0.30.3 (#5234) 2024-07-20 16:46:39 +02:00
Bruno Alla
a5f0967eec
Update Heroku runtime to Python 3.12.4 2024-07-20 10:47:06 +01:00
pyup.io bot
4d74cd9730
Update django-crispy-forms to 2.3 (#5229) 2024-07-20 10:41:47 +01:00
github-actions[bot]
1b88b699c9
Update django-upgrade pre-commit hooks (#5232) 2024-07-20 10:37:43 +01:00
github-actions
88da1f4413 Release 2024.07.19 2024-07-20 02:17:34 +00:00
pyup.io bot
ab081ee471
Update django-upgrade to 1.20.0 (#5227) 2024-07-19 12:55:50 +01:00
Fabio C. Barrionuevo da Luz
cb103ce28d Use "ENV key=value" instead of "ENV key value" in Dockerfiles
The old syntax for ENV and LABEL is marked as deprecated in docker buildx v0.14.0

https://docs.docker.com/reference/build-checks/legacy-key-value-format/
https://github.com/moby/buildkit/pull/4923
2024-07-19 06:06:47 -03:00
pyup.io bot
e68d935987
Update ruff to 0.5.3 (#5224) 2024-07-19 09:52:29 +01:00
github-actions
e16eed7f1b Release 2024.07.18 2024-07-19 02:18:50 +00:00
pyup.io bot
7082e66db3
Update sphinx to 7.4.6 (#5223)
* Update sphinx from 7.4.5 to 7.4.6

* Update sphinx from 7.4.5 to 7.4.6
2024-07-18 17:50:15 +01:00
github-actions
0834ba6870 Release 2024.07.17 2024-07-18 02:18:30 +00:00
github-actions
dcaf6741de Release 2024.07.16 2024-07-17 02:19:01 +00:00
pyup-bot
bd82fe72f8 Update sphinx from 7.4.4 to 7.4.5 2024-07-16 21:57:28 -03:00
pyup-bot
f669e101a0 Update sphinx from 7.4.4 to 7.4.5 2024-07-16 21:57:28 -03:00
hleroy
634b091756
Clear ENTRYPOINT in awscli image to allow script execution (#5221)
* Fix: clear ENTRYPOINT in derived image to allow script execution

* Added explanation regarding clearing ENTRYPOINT from the base image

Co-authored-by: Bruno Alla <browniebroke@users.noreply.github.com>

---------

Co-authored-by: Bruno Alla <browniebroke@users.noreply.github.com>
2024-07-16 14:57:40 +01:00
pyup.io bot
2443932974
Update sphinx to 7.4.4 (#5218)
* Update sphinx from 7.4.2 to 7.4.4

* Update sphinx from 7.4.2 to 7.4.4
2024-07-16 10:14:56 +01:00
github-actions
e260a5da7e Release 2024.07.15 2024-07-16 02:19:21 +00:00
pyup-bot
32eb1b2e8c Update sentry-sdk from 2.9.0 to 2.10.0 2024-07-15 09:27:37 -03:00
pyup-bot
057fb75a45 Update sphinx from 7.4.0 to 7.4.2 2024-07-15 09:26:43 -03:00
pyup-bot
bf76313bdf Update sphinx from 7.4.0 to 7.4.2 2024-07-15 09:26:43 -03:00
pyup.io bot
5ba14a2d2c
Update ruff to 0.5.2 (#5211) 2024-07-15 10:54:04 +01:00
pyup.io bot
722e2bc4d5
Update sphinx to 7.4.0 (#5214)
* Update sphinx from 7.3.7 to 7.4.0

* Update sphinx from 7.3.7 to 7.4.0
2024-07-15 10:46:00 +01:00
github-actions
a319c8284e Release 2024.07.12 2024-07-13 02:18:05 +00:00
pyup-bot
c662c4d615 Update django-allauth from 0.63.5 to 0.63.6 2024-07-12 19:20:58 -03:00
pyup-bot
4e39cd2d51 Update django-allauth from 0.63.4 to 0.63.5 2024-07-12 10:45:11 -03:00
pyup-bot
00bac8eb68 Update coverage from 7.5.4 to 7.6.0 2024-07-12 10:43:47 -03:00
pyup-bot
d389302b6d Update django-anymail from 11.0 to 11.0.1 2024-07-12 10:43:03 -03:00
pyup-bot
ae03ac4702 Update django-anymail from 11.0 to 11.0.1 2024-07-12 10:43:03 -03:00
pyup-bot
45c4429154 Update django-anymail from 11.0 to 11.0.1 2024-07-12 10:43:03 -03:00
pyup-bot
cc67304d9c Update django-anymail from 11.0 to 11.0.1 2024-07-12 10:43:03 -03:00
pyup-bot
6754a2ec04 Update django-anymail from 11.0 to 11.0.1 2024-07-12 10:43:03 -03:00
pyup-bot
ef433d1a17 Update django-anymail from 11.0 to 11.0.1 2024-07-12 10:43:03 -03:00
pyup-bot
3156e2a560 Update django-anymail from 11.0 to 11.0.1 2024-07-12 10:43:03 -03:00
pyup-bot
78593239ee Update django-anymail from 11.0 to 11.0.1 2024-07-12 10:43:03 -03:00
pyup-bot
e6336a29f0 Update django-anymail from 11.0 to 11.0.1 2024-07-12 10:43:03 -03:00
github-actions
7cbc7e920e Release 2024.07.10 2024-07-11 02:19:40 +00:00
pyup-bot
d5198dc40b Update django-allauth from 0.63.3 to 0.63.4 2024-07-10 20:54:20 -03:00
pyup-bot
0dd5c6ee38 Update django from 4.2.13 to 4.2.14 2024-07-10 15:46:02 -03:00
pyup.io bot
2fbceaf6c3
Update collectfasta to 3.2.0 (#5201) 2024-07-10 17:52:05 +01:00
pyup.io bot
96a5a2d1dd
Update sentry-sdk to 2.9.0 (#5202) 2024-07-10 17:51:47 +01:00
pyup.io bot
9631c0a817
Update django-debug-toolbar to 4.4.6 (#5203) 2024-07-10 17:51:31 +01:00
github-actions
889d8e0732 Release 2024.07.09 2024-07-10 02:18:28 +00:00
Bruno Alla
8cf31c9317
Migrate from Collectfast to Collestfasta (#5172) 2024-07-09 09:11:15 +01:00
pyup.io bot
bac56c4a7f
Update django-storages to 1.14.4 (#5197)
* Update django-storages from 1.14.3 to 1.14.4

* Update django-storages from 1.14.3 to 1.14.4

* Update django-storages from 1.14.3 to 1.14.4
2024-07-09 08:45:08 +01:00
browniebroke
3463d8ad17 Update Contributors 2024-07-09 07:44:37 +00:00
Ali Shamakhi
e716be4d36
Fix a typo in the option --all of the makemessages command (#5198) 2024-07-09 08:43:57 +01:00
github-actions
c3e1983ef1 Release 2024.07.08 2024-07-09 02:18:52 +00:00
pyup.io bot
abd00d18ae
Update ruff to 0.5.1 (#5190)
* Update ruff from 0.5.0 to 0.5.1

* Update ruff from 0.5.0 to 0.5.1

* Auto-update ruff pre-commit hook (#5194)

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Bruno Alla <browniebroke@users.noreply.github.com>
2024-07-08 17:39:44 +01:00
pyup.io bot
a0c6867722
Update django-debug-toolbar to 4.4.5 (#5192) 2024-07-08 16:48:47 +01:00
pyup.io bot
888d48728e
Update sentry-sdk to 2.8.0 (#5195) 2024-07-08 16:48:31 +01:00
github-actions
fef5476742 Release 2024.07.05 2024-07-06 02:16:54 +00:00
pyup.io bot
20bae48753
Update django-debug-toolbar to 4.4.3 (#5189) 2024-07-05 13:57:00 +01:00
pyup.io bot
b65afbce8c
Update tox from 4.15.1 to 4.16.0 (#5186) 2024-07-03 07:35:43 +01:00
github-actions
ae64eef2ee Release 2024.07.02 2024-07-03 02:17:41 +00:00
pyup.io bot
de2239ab2f
Update pillow to 10.4.0 (#5182) 2024-07-02 15:32:48 +01:00
github-actions
29027487fa Release 2024.07.01 2024-07-02 02:18:05 +00:00
pyup.io bot
edbdefb0a7
Update ruff to 0.5.0 (#5181) 2024-07-01 12:07:16 +01:00
pyup.io bot
2d18e673a3
Update sentry-sdk to 2.7.1 (#5174) 2024-07-01 11:51:53 +01:00
github-actions[bot]
0e7ca03345
Auto-update pre-commit hooks (#5175)
Co-authored-by: browniebroke <861044+browniebroke@users.noreply.github.com>
2024-07-01 11:51:29 +01:00
pyup.io bot
899886fa2a
Update psycopg to 3.2.1 (#5180)
* Update psycopg from 3.1.19 to 3.2.1

* Update psycopg from 3.1.19 to 3.2.1

* Update psycopg from 3.1.19 to 3.2.1
2024-07-01 11:50:24 +01:00
github-actions
b200d44885 Release 2024.06.30 2024-07-01 02:22:00 +00:00
pyup.io bot
0f7aed4f27
Update django-upgrade to 1.19.0 (#5171)
* Update django-upgrade from 1.18.0 to 1.19.0

* Update django-upgrade pre-commit hook

---------

Co-authored-by: Bruno Alla <alla.brunoo@gmail.com>
2024-06-30 17:50:12 +01:00
github-actions
9757b1739e Release 2024.06.26 2024-06-27 02:17:42 +00:00
pyup-bot
c7a4b9bb45 Update redis from 5.0.6 to 5.0.7 2024-06-26 12:18:40 -03:00
Bruno Alla
1f82072d5b Fix keywords case warning in Dockerfile
Recently noticed the following warning in my Docker builds:

> WARN: FromAsCasing: 'as' and 'FROM' keywords' casing do not match

I don't think it's causing any harm, apart perhaps some small noise in the logs.
2024-06-26 09:14:25 -03:00
pyup-bot
8e319a21db Update sentry-sdk from 2.6.0 to 2.7.0 2024-06-26 09:12:59 -03:00
github-actions
bcfbb7b712 Release 2024.06.24 2024-06-25 02:17:52 +00:00
pyup.io bot
315724b797
Update django-anymail to 11.0 (#5163) 2024-06-24 11:42:37 +01:00
pyup.io bot
b6aa5b1535
Update coverage from 7.5.3 to 7.5.4 (#5162) 2024-06-24 11:36:43 +01:00
github-actions
29705080b9 Release 2024.06.22 2024-06-23 02:18:51 +00:00
dependabot[bot]
bacd17bb08
Bump amazon/aws-cli from 2.16.10 to 2.17.0 in /{{cookiecutter.project_slug}}/compose/production/aws (#5161)
Bumps amazon/aws-cli from 2.16.10 to 2.17.0.

---
updated-dependencies:
- dependency-name: amazon/aws-cli
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-22 12:22:37 +01:00
github-actions[bot]
3257b3d270
Auto-update pre-commit hooks (#5160)
Co-authored-by: browniebroke <861044+browniebroke@users.noreply.github.com>
2024-06-22 12:20:50 +01:00
pyup.io bot
a4f2206741
Update ruff to 0.4.10 (#5159)
* Update ruff from 0.4.9 to 0.4.10

* Update ruff from 0.4.9 to 0.4.10
2024-06-22 12:20:34 +01:00
github-actions
85c6014597 Release 2024.06.20 2024-06-21 02:17:16 +00:00
Jelmer
431224d6e4
Merge pull request #5158 from foarsitter/gitlab_runner_tag
Gitlab tags docker & python are removed from runner
2024-06-20 09:34:35 +02:00
jelmert
9f64012987 Gitlab tags docker & python are removed from runner 2024-06-20 08:46:29 +02:00
github-actions
e71dd7c1fd Release 2024.06.19 2024-06-20 02:21:59 +00:00
pyup.io bot
ef34d668da
Update djangorestframework from 3.15.1 to 3.15.2 (#5156) 2024-06-19 22:53:00 +01:00
pyup.io bot
f9b30c7bc8
Update django-cors-headers from 4.3.1 to 4.4.0 (#5154) 2024-06-19 22:43:31 +01:00
pyup.io bot
daa858225f
Update sentry-sdk from 2.5.1 to 2.6.0 (#5153) 2024-06-19 22:42:50 +01:00
pyup.io bot
875022864a
Update whitenoise from 6.6.0 to 6.7.0 (#5155) 2024-06-19 22:42:34 +01:00
github-actions
e03d9a6854 Release 2024.06.18 2024-06-19 02:18:13 +00:00
dependabot[bot]
cc41c0b804
Bump amazon/aws-cli from 2.16.8 to 2.16.10 (#5149)
Bumps amazon/aws-cli from 2.16.8 to 2.16.10.

---
updated-dependencies:
- dependency-name: amazon/aws-cli
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-18 11:30:00 +01:00
github-actions
1e260740c2 Release 2024.06.17 2024-06-18 02:17:54 +00:00
github-actions[bot]
0b95d16aaa
Update flake8 pre-commit hook in template (#5144)
Co-authored-by: browniebroke <861044+browniebroke@users.noreply.github.com>
2024-06-17 09:21:47 +01:00
pyup.io bot
16652acaf1
Update django-compressor to 4.5 (#5145)
* Update django-compressor from 4.4 to 4.5

* Update rcssmin to 1.1.2 (#4614)
2024-06-17 09:17:45 +01:00
github-actions
d40623b382 Release 2024.06.15 2024-06-16 02:19:35 +00:00
pyup.io bot
a2e364b5c1
Update django-crispy-forms from 2.1 to 2.2 (#5143) 2024-06-15 23:57:21 +01:00
Arnav Choudhury
401ffd0e86
Update start-flower in flower to wait until all celery workers are online (#5012)
Flower needs to start only after the celery workers come online. Otherwise one will see errors like `inspect method failed` etc
2024-06-15 23:55:43 +01:00
browniebroke
c3335e6604 Update Contributors 2024-06-15 22:54:26 +00:00
Bruno Alla
bcd4437491
Merge pull request #5102 from Mogost/secure-prefix
Enhancing the security of cookies
2024-06-15 23:53:50 +01:00
pyup.io bot
f9a4d864db
Update sentry-sdk from 2.5.0 to 2.5.1 (#5142) 2024-06-15 23:48:02 +01:00
github-actions[bot]
c4f7b09cf3
Auto-update pre-commit hooks (#5140)
Co-authored-by: browniebroke <861044+browniebroke@users.noreply.github.com>
2024-06-15 23:46:57 +01:00
pyup.io bot
f6b9fa3708
Update django-allauth from 0.63.2 to 0.63.3 (#5111) 2024-06-15 23:46:42 +01:00
github-actions
987bee4573 Release 2024.06.14 2024-06-15 02:17:13 +00:00
Fábio C. Barrionuevo da Luz
80674b017e
Update FUNDING.yml 2024-06-14 17:26:01 -03:00
dependabot[bot]
03e68e893f Bump python in /{{cookiecutter.project_slug}}/compose/local/docs
Bumps python from 3.12.3-slim-bookworm to 3.12.4-slim-bookworm.

---
updated-dependencies:
- dependency-name: python
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-14 14:00:29 -03:00
dependabot[bot]
c11d5519d6 Bump python in /{{cookiecutter.project_slug}}/compose/local/django
Bumps python from 3.12.3-slim-bookworm to 3.12.4-slim-bookworm.

---
updated-dependencies:
- dependency-name: python
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-14 14:00:10 -03:00
dependabot[bot]
ed0857f7b3 Bump python in /{{cookiecutter.project_slug}}/compose/production/django
Bumps python from 3.12.3-slim-bookworm to 3.12.4-slim-bookworm.

---
updated-dependencies:
- dependency-name: python
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-14 13:59:48 -03:00
dependabot[bot]
453ea25b1d Bump amazon/aws-cli
Bumps amazon/aws-cli from 2.16.6 to 2.16.8.

---
updated-dependencies:
- dependency-name: amazon/aws-cli
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-14 13:58:46 -03:00
pyup-bot
bde8236e9a Update ruff from 0.4.8 to 0.4.9 2024-06-14 13:58:18 -03:00
pyup-bot
07c125d940 Update ruff from 0.4.8 to 0.4.9 2024-06-14 13:58:18 -03:00
github-actions
4b94cde887 Release 2024.06.13 2024-06-14 02:17:54 +00:00
pyup.io bot
a0ae1945b5
Update redis from 5.0.5 to 5.0.6 (#5137) 2024-06-13 19:49:51 +01:00
github-actions
c1ca194e4f Release 2024.06.12 2024-06-13 02:17:40 +00:00
dependabot[bot]
d3ce7925b2
Bump amazon/aws-cli Docker image from 2.15.58 to 2.16.6 (#5135)
Bumps amazon/aws-cli from 2.15.58 to 2.16.6.

---
updated-dependencies:
- dependency-name: amazon/aws-cli
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-12 09:45:22 +01:00
github-actions[bot]
8969cf60ab
Auto-update pre-commit hooks (#5128)
Co-authored-by: browniebroke <861044+browniebroke@users.noreply.github.com>
2024-06-09 11:00:16 +01:00
github-actions
cbe4532af5 Release 2024.06.08 2024-06-09 02:19:34 +00:00
browniebroke
f6bf52173e Update Contributors 2024-06-08 14:13:10 +00:00
Manas Mallick
eec17f7c57
Change aws-cli docker image to use official amazon image (#5116) 2024-06-08 15:12:33 +01:00
browniebroke
ad632484fd Update Contributors 2024-06-08 13:56:36 +00:00
Jason Mok
b6656379af
Replace deprecated uvicorn.workers with uvicorn-worker (#5110)
* chore: Replace deprecated uvicorn.workers with uvicorn-worker

* Add package and fix worker class name

---------

Co-authored-by: Bruno Alla <alla.brunoo@gmail.com>
2024-06-08 14:56:02 +01:00
github-actions
db38d8b00f Release 2024.06.06 2024-06-07 02:17:56 +00:00
pyup.io bot
33c36f17cd
Update sentry-sdk to 2.5.0 (#5126) 2024-06-06 15:27:42 +01:00
pyup.io bot
690b1ad327
Update ruff to 0.4.8 (#5122)
* Update ruff from 0.4.7 to 0.4.8

* Update ruff from 0.4.7 to 0.4.8

* Update Ruff pre-commit hook (#5123)

Co-authored-by: browniebroke <861044+browniebroke@users.noreply.github.com>

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: browniebroke <861044+browniebroke@users.noreply.github.com>
2024-06-06 12:47:52 +01:00
pyup.io bot
1e1255c966
Update redis to 5.0.5 (#5125) 2024-06-06 12:13:27 +01:00
pyup.io bot
e3adc3561f
Update tox to 4.15.1 (#5124) 2024-06-06 12:13:08 +01:00
github-actions
f2880ab5d5 Release 2024.06.04 2024-06-05 02:17:11 +00:00
pyup-bot
66e4d3d99a Update pytest from 8.2.1 to 8.2.2 2024-06-04 17:33:11 -03:00
pyup-bot
75a8dae0dc Update pytest from 8.2.1 to 8.2.2 2024-06-04 17:33:11 -03:00
pyup-bot
7216565cfa Update sh from 2.0.6 to 2.0.7 2024-06-04 07:11:36 -03:00
pyup-bot
824630a9e9 Update sentry-sdk from 2.3.1 to 2.4.0 2024-06-04 07:10:09 -03:00
github-actions
ed59d08ec3 Release 2024.06.02 2024-06-03 02:17:48 +00:00
pyup.io bot
53394a6ac7
Update uvicorn from 0.30.0 to 0.30.1 (#5115) 2024-06-02 20:00:08 +01:00
github-actions
3f38cfac5a Release 2024.06.01 2024-06-02 02:18:24 +00:00
pyup.io bot
0cfd278da2
Update ruff to 0.4.7 (#5112)
* Update ruff from 0.4.6 to 0.4.7

* Update ruff from 0.4.6 to 0.4.7

* Update Ruff pre-commit hook (#5113)

Co-authored-by: browniebroke <861044+browniebroke@users.noreply.github.com>

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: browniebroke <861044+browniebroke@users.noreply.github.com>
2024-06-01 11:43:59 +01:00
github-actions
fc5182591f Release 2024.05.30 2024-05-31 02:17:04 +00:00
Jelmer
34644d50ba
Merge pull request #5101 from cookiecutter/pyup-update-uvicorn-0.29.0-to-0.30.0
Update uvicorn to 0.30.0
2024-05-30 11:00:50 +02:00
github-actions
2d5712baf0 Release 2024.05.29 2024-05-30 02:17:05 +00:00
pyup.io bot
3dd83f47ff
Update requests from 2.32.2 to 2.32.3 (#5108) 2024-05-29 15:20:48 -03:00
pyup.io bot
0216ebb268
Update ruff to 0.4.6 (#5107)
* Update ruff from 0.4.5 to 0.4.6

* Update ruff from 0.4.5 to 0.4.6

---------

Co-authored-by: Bruno Alla <browniebroke@users.noreply.github.com>
2024-05-29 13:25:36 +01:00
github-actions[bot]
07e6282244
Auto-update pre-commit hooks (#5106)
Co-authored-by: browniebroke <861044+browniebroke@users.noreply.github.com>
2024-05-29 08:24:38 +01:00
pyup.io bot
2aae512ef6
Update coverage from 7.5.2 to 7.5.3 (#5104) 2024-05-29 08:23:32 +01:00
pyup.io bot
30a92f55af
Update django-upgrade from 1.17.0 to 1.18.0 (#5105) 2024-05-28 22:05:32 -03:00
Alexandr Artemyev
310b803f29
Enhancing the security of cookies 2024-05-28 14:10:33 +05:00
pyup-bot
efc3882980 Update uvicorn from 0.29.0 to 0.30.0 2024-05-28 08:41:57 +01:00
github-actions
28e4ded048 Release 2024.05.27 2024-05-28 02:17:05 +00:00
pyup.io bot
779d51e60a
Update django-stubs to 5.0.2 (#5100) 2024-05-27 14:55:58 +01:00
pyup.io bot
4849aeb7f8
Update watchfiles to 0.22.0 (#5099) 2024-05-27 14:55:17 +01:00
browniebroke
3965c385b0 Update Contributors 2024-05-27 13:47:06 +00:00
Param Kapur
a0c2e1f31f
Rename SendInBlue ESP to Brevo (#5094)
* Update cookiecutter.json with Brevo for SendInBlue

* Change all occurrences of SendinBlue to Brevo
2024-05-27 14:46:12 +01:00
pyup.io bot
4bdc239e03
Update django-allauth to 0.63.2 (#5092) 2024-05-27 14:40:28 +01:00
pyup.io bot
6ed9e588b2
Update coverage to 7.5.2 (#5095) 2024-05-27 14:40:05 +01:00
pyup.io bot
ba97c2a719
Update django-debug-toolbar to 4.4.2 (#5098) 2024-05-27 14:39:49 +01:00
github-actions
c319d929d1 Release 2024.05.23 2024-05-24 02:16:35 +00:00
pyup.io bot
bdaa17ca07
Update sentry-sdk to 2.3.1 (#5091) 2024-05-23 21:41:12 +01:00
github-actions[bot]
b669566bc5
Auto-update pre-commit hooks (#5087)
Co-authored-by: browniebroke <861044+browniebroke@users.noreply.github.com>
2024-05-23 21:39:41 +01:00
pyup.io bot
c3c099095b
Update ruff to 0.4.5 (#5086)
* Update ruff from 0.4.4 to 0.4.5

* Update ruff from 0.4.4 to 0.4.5
2024-05-23 21:39:28 +01:00
pyup.io bot
aeb151d348
Update requests from 2.32.1 to 2.32.2 (#5084) 2024-05-22 08:13:06 +01:00
github-actions
b8b470c796 Release 2024.05.21 2024-05-22 02:16:26 +00:00
pyup.io bot
3230a1c371
Update sentry-sdk to 2.2.1 (#5083) 2024-05-21 14:10:30 +01:00
pyup.io bot
084434c9db
Update requests from 2.31.0 to 2.32.1 (#5082) 2024-05-21 08:21:19 +01:00
github-actions
cc37044a8f Release 2024.05.20 2024-05-21 02:15:48 +00:00
browniebroke
53ac394a6f Update Contributors 2024-05-20 17:48:21 +00:00
Nadav Peretz
4e48f9e1ec
Fix PyCharm Run Configurations After local.yml Rename (#5080) 2024-05-20 18:47:39 +01:00
pyup.io bot
6db133df42
Update pytest to 8.2.1 (#5079)
* Update pytest from 8.2.0 to 8.2.1

* Update pytest from 8.2.0 to 8.2.1
2024-05-20 10:51:31 +01:00
github-actions
9e721a8a02 Release 2024.05.18 2024-05-19 02:17:13 +00:00
Jens Kaeske
b119eae9b4
Fix redirect error when forcing allauth login in admin site (#5078) 2024-05-18 21:53:52 +01:00
github-actions
b9f6d8875e Release 2024.05.17 2024-05-18 02:15:34 +00:00
pyup.io bot
5a51ef2247
Update django-allauth from 0.63.0 to 0.63.1 (#5076) 2024-05-17 12:55:58 +01:00
github-actions
fdf0254392 Release 2024.05.16 2024-05-17 02:15:22 +00:00
pyup.io bot
2f9051fbbd
Update sentry-sdk to 2.2.0 (#5074) 2024-05-16 15:50:55 +01:00
browniebroke
f29c1c67e3 Update Contributors 2024-05-16 07:59:28 +00:00
pyup.io bot
e5fef81958
Update django-allauth to 0.63.0 (#5070) 2024-05-16 08:58:47 +01:00
Geo Maciolek
0bf7e51c1b
Update Two scoops of Django book link & image (#5073)
The book link for "Two Scoops of Django 3.x" was a 404; updated to the current page in `README` and `faq.rst`. `README.md`: pointed to a current cover image. Changed the HTML `<img>` tags to use markdown instead, removed `<p>` center tags
2024-05-16 08:58:13 +01:00
github-actions
9eec5fc227 Release 2024.05.15 2024-05-16 02:15:36 +00:00
Bruno Alla
1732734ce5
Disable DDT profiling panel (#5069)
It's currently not working well under Python 3.12
2024-05-15 16:39:14 +01:00
github-actions
beba4c177d Release 2024.05.13 2024-05-14 02:14:34 +00:00
Bruno Alla
e9f029decf
Add noqa to ignore ruff false positive (#5068) 2024-05-13 22:26:26 +01:00
Bruno Alla
4710101acd
Merge pull request #5022 from cookiecutter/pyup-update-mypy-1.7.1-to-1.10.0
Update mypy to 1.10.0
2024-05-13 22:18:36 +01:00
Jens Kaeske
88a9a15dbf
Fix handling of staticfile settings if cloud provider and whitenoise are selected (#5057)
Co-authored-by: Bruno Alla <alla.brunoo@gmail.com>
2024-05-13 21:45:55 +01:00
Bruno Alla
9fd3154127
Ignore type errors from mypy 2024-05-13 19:53:55 +01:00
Bruno Alla
34f8a2e154
Merge remote-tracking branch 'refs/remotes/upstream/pyup-update-djangorestframework-stubs-3.14.5-to-3.15.0' into pyup-update-mypy-1.7.1-to-1.10.0 2024-05-13 19:38:55 +01:00
Bruno Alla
bd5d75a246
Merge remote-tracking branch 'refs/remotes/upstream/pyup-update-django-stubs-4.2.7-to-5.0.0' into pyup-update-mypy-1.7.1-to-1.10.0
# Conflicts:
#	{{cookiecutter.project_slug}}/requirements/local.txt
2024-05-13 19:38:49 +01:00
pyup.io bot
f82807f53a
Update werkzeug to 3.0.3 (#5050) 2024-05-13 19:10:59 +01:00
mpsantos
bebffe7cc9
Remove obsolete version element from docker compose files (#5059)
Co-authored-by: Bruno Alla <alla.brunoo@gmail.com>
2024-05-13 18:27:41 +01:00
browniebroke
9322f16b1a Update Contributors 2024-05-13 17:27:03 +00:00
Bruno Alla
23c1fa6e35
Merge branch 'refs/heads/master' into redis-persistent-storage 2024-05-13 18:24:23 +01:00
Matthew Foster Walsh
10c85ce3d6
Rename docker compose files to include 'docker-compose' (#4995)
* Renamed local.yml to docker-compose.local.yml

* Renamed production.yml to docker-compose.production.yml

* Rename docs.yml to docker-compose.docs.yml

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Bruno Alla <alla.brunoo@gmail.com>
2024-05-13 18:18:56 +01:00
Bruno Alla
b60d26f6bd
Rename workflow job 2024-05-13 16:22:46 +01:00
github-actions
6f68602bbc Release 2024.05.11 2024-05-12 02:16:53 +00:00
pyup.io bot
b3f1f8ef93
Update pre-commit to 3.7.1 (#5066)
* Update pre-commit from 3.7.0 to 3.7.1

* Update pre-commit from 3.7.0 to 3.7.1
2024-05-11 10:34:28 +01:00
github-actions[bot]
b27efd4697
Auto-update pre-commit hooks (#5067)
Co-authored-by: browniebroke <861044+browniebroke@users.noreply.github.com>
2024-05-11 10:34:13 +01:00
github-actions
3166ed72f1 Release 2024.05.10 2024-05-11 02:13:02 +00:00
pyup.io bot
fcc565b85e
Update psycopg to 3.1.19 (#5064)
* Update psycopg from 3.1.18 to 3.1.19
2024-05-10 17:12:31 -03:00
pyup.io bot
ba7eb5a5d4
Update django-upgrade from 1.16.0 to 1.17.0 (#5065) 2024-05-10 17:11:58 -03:00
Marios Frixou
8b41dde2f0
Merge branch 'master' into master 2024-05-10 15:55:35 +03:00
github-actions[bot]
9557d9ba0d
Auto-update pre-commit hooks (#5062)
Co-authored-by: browniebroke <861044+browniebroke@users.noreply.github.com>
2024-05-10 09:05:39 +01:00
pyup.io bot
a45bb9eb2c
Update ruff to 0.4.4 (#5061)
* Update ruff from 0.4.3 to 0.4.4

* Update ruff from 0.4.3 to 0.4.4
2024-05-10 09:05:27 +01:00
Marios Frixou
2c55a3d443 Add Redis persistent storage when using celery 2024-05-10 11:04:10 +03:00
github-actions
f58530288c Release 2024.05.07 2024-05-08 02:06:10 +00:00
pyup.io bot
9b2947a353
Update django from 4.2.12 to 4.2.13 (#5058) 2024-05-07 20:34:12 -03:00
github-actions
4fbd009965 Release 2024.05.06 2024-05-07 02:17:15 +00:00
pyup.io bot
26abd3a7a8
Update django-model-utils from 4.5.0 to 4.5.1 (#5044) 2024-05-06 20:32:56 -03:00
pyup.io bot
ebf082b696
Update django from 4.2.11 to 4.2.12 (#5056) 2024-05-06 16:41:18 -03:00
Areski Belaid
206e6b018f
Fix nginx image name in production.yml (#5053) 2024-05-06 16:53:03 +01:00
pyup.io bot
340795cf4e
Update sentry-sdk to 2.1.1 (#5055) 2024-05-06 16:52:23 +01:00
pyup.io bot
a2129172d9
Update jinja2 from 3.1.3 to 3.1.4 (#5051) 2024-05-06 09:43:15 +01:00
pyup.io bot
1b6a8e5ad0
Update ruff to 0.4.3 (#5049) 2024-05-06 09:41:03 +01:00
github-actions
8e9bd2273e Release 2024.05.05 2024-05-06 02:15:29 +00:00
github-actions[bot]
7fa5d86020
Auto-update pre-commit hooks (#5046)
Co-authored-by: browniebroke <861044+browniebroke@users.noreply.github.com>
2024-05-05 18:36:37 +01:00
pyup.io bot
3608c21fe7
Update django-storages to 1.14.3 (#5047) 2024-05-05 18:35:12 +01:00
pyup.io bot
38318ab7f5
Update coverage from 7.5.0 to 7.5.1 (#5048) 2024-05-05 18:34:04 +01:00
pyup-bot
4c46f4b97e Update djangorestframework-stubs from 3.14.5 to 3.15.0 2024-04-30 22:36:47 +01:00
pyup-bot
f0d2f40a2e Update django-stubs from 4.2.7 to 5.0.0 2024-04-30 12:42:58 +01:00
dependabot[bot]
f66396d812
Bump myst-parser from 3.0.0 to 3.0.1 (#5037)
Bumps [myst-parser](https://github.com/executablebooks/MyST-Parser) from 3.0.0 to 3.0.1.
- [Release notes](https://github.com/executablebooks/MyST-Parser/releases)
- [Changelog](https://github.com/executablebooks/MyST-Parser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/executablebooks/MyST-Parser/compare/v3.0.0...v3.0.1)

---
updated-dependencies:
- dependency-name: myst-parser
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-29 12:29:33 +01:00
pyup.io bot
e9d6b24c89
Update pytest-xdist to 3.6.1 (#5035) 2024-04-29 12:29:08 +01:00
github-actions
5411df989f Release 2024.04.28 2024-04-29 02:14:08 +00:00
pyup.io bot
9cbd8c5f77
Update pytest to 8.2.0 (#5034)
* Update pytest from 8.1.1 to 8.2.0

* Update pytest from 8.1.1 to 8.2.0
2024-04-28 19:14:46 +01:00
github-actions
edf043a820 Release 2024.04.27 2024-04-28 02:16:41 +00:00
pyup.io bot
a65b0d4720
Update sentry-sdk to 2.0.1 (#5030) 2024-04-27 12:32:34 +01:00
pyup.io bot
e176d92a8b
Update tox to 4.15.0 (#5031) 2024-04-27 12:30:02 +01:00
github-actions
5d0e593209 Release 2024.04.26 2024-04-27 02:12:47 +00:00
github-actions[bot]
f9cb423b00
Auto-update pre-commit hooks (#5029)
Co-authored-by: browniebroke <861044+browniebroke@users.noreply.github.com>
2024-04-26 15:50:24 +01:00
pyup.io bot
9d1316c7d0
Update ruff to 0.4.2 (#5028)
* Update ruff from 0.4.1 to 0.4.2

* Update ruff from 0.4.1 to 0.4.2
2024-04-26 15:50:08 +01:00
github-actions
0d44ffee84 Release 2024.04.25 2024-04-26 02:12:57 +00:00
pyup.io bot
c32ddea18f
Update coverage to 7.5.0 (#5025) 2024-04-25 10:08:26 +01:00
dependabot[bot]
b10a1e7df5
Bump cssnano from 6.1.2 to 7.0.0 (#5024)
Bumps [cssnano](https://github.com/cssnano/cssnano) from 6.1.2 to 7.0.0.
- [Release notes](https://github.com/cssnano/cssnano/releases)
- [Commits](https://github.com/cssnano/cssnano/compare/cssnano@6.1.2...cssnano@7.0.0)

---
updated-dependencies:
- dependency-name: cssnano
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-25 09:54:53 +01:00
github-actions[bot]
108ae4e83d
Auto-update pre-commit hooks (#5023)
Co-authored-by: browniebroke <861044+browniebroke@users.noreply.github.com>
2024-04-25 09:53:36 +01:00
github-actions
4937e29adf Release 2024.04.24 2024-04-25 02:13:35 +00:00
pyup-bot
8a9b4eb58a Update mypy from 1.7.1 to 1.10.0 2024-04-24 15:35:31 +01:00
pyup.io bot
090153079e
Update django-allauth from 0.62.0 to 0.62.1 (#5021) 2024-04-24 10:37:59 -03:00
Jelmer
00ecfc5278
Merge pull request #5020 from cookiecutter/luzfcb-disable-UP038-ruff-rule
Disable UP038 Ruff rule to avoid introducing slower code
2024-04-24 08:08:59 +02:00
github-actions
3f5f90e002 Release 2024.04.23 2024-04-24 02:13:06 +00:00
Fábio C. Barrionuevo da Luz
ae52c62692
Disable UP038 Ruff rule 2024-04-23 18:28:45 -03:00
Fábio C. Barrionuevo da Luz
d4bad0c306
Update link to djlint on pyproject.toml (#5019) 2024-04-23 17:54:47 -03:00
pyup.io bot
89acf137f5
Update redis from 5.0.3 to 5.0.4 (#5018) 2024-04-23 15:48:43 -03:00
pyup.io bot
d5d41fc756
Update myst-parser to 3.0.0 (#5017) 2024-04-23 16:59:41 +01:00
pyup.io bot
1b42f65b03
Update django-allauth to 0.62.0 (#5016) 2024-04-23 10:17:53 +01:00
github-actions
1111c1afa5 Release 2024.04.22 2024-04-23 02:13:59 +00:00
Ryan Fitch
b15cae614a
Fix broken link for sphinx-doc in generated docs (#5015) 2024-04-22 10:10:25 +01:00
github-actions
929992e6d8 Release 2024.04.20 2024-04-21 02:14:34 +00:00
github-actions[bot]
af9cfc5002
Auto-update pre-commit hooks (#5014)
Co-authored-by: browniebroke <861044+browniebroke@users.noreply.github.com>
2024-04-20 15:43:32 +01:00
pyup.io bot
9006d69055
Update pytest-xdist from 3.5.0 to 3.6.0 (#5013) 2024-04-20 08:59:58 -03:00
github-actions
83d3e6f83d Release 2024.04.19 2024-04-20 02:11:16 +00:00
pyup.io bot
c9d64fad62
Update ruff to 0.4.1 (#5011)
* Update ruff from 0.4.0 to 0.4.1

* Update ruff from 0.4.0 to 0.4.1
2024-04-19 15:08:32 -03:00
pyup.io bot
44c94a2cf6
Update ruff to 0.4.0 (#5007)
* Update ruff from 0.3.7 to 0.4.0

* Update ruff from 0.3.7 to 0.4.0
2024-04-19 09:06:56 +01:00
github-actions[bot]
e686ab1271
Auto-update pre-commit hooks (#5008)
Co-authored-by: browniebroke <861044+browniebroke@users.noreply.github.com>
2024-04-19 09:06:47 +01:00
pyup.io bot
ee6de7951f
Update sphinx to 7.3.7 (#5010)
* Update sphinx from 7.3.6 to 7.3.7

* Update sphinx from 7.3.6 to 7.3.7
2024-04-19 09:06:15 +01:00
github-actions
fd3acfc11f Release 2024.04.18 2024-04-19 02:13:53 +00:00
pyup.io bot
0e71fa21b6
Update celery from 5.3.6 to 5.4.0 (#5005) 2024-04-18 08:56:10 +01:00
pyup.io bot
e8e89f66e9
Update sphinx to 7.3.6 (#5004)
* Update sphinx from 7.3.5 to 7.3.6

* Update sphinx from 7.3.5 to 7.3.6
2024-04-18 08:54:24 +01:00
github-actions
2e9decda8d Release 2024.04.17 2024-04-18 02:11:51 +00:00
pyup.io bot
352e5dae21
Update sphinx to 7.3.5 (#5003)
* Update sphinx from 7.3.3 to 7.3.5

* Update sphinx from 7.3.3 to 7.3.5
2024-04-17 09:32:31 +01:00
pyup.io bot
5f78a8f190
Update gunicorn to 22.0.0 (#5001) 2024-04-17 09:19:19 +01:00
pyup.io bot
861ad0d1fc
Update sphinx to 7.3.3 (#5000)
* Update sphinx from 7.2.6 to 7.3.3

* Update sphinx from 7.2.6 to 7.3.3
2024-04-17 09:18:40 +01:00
github-actions
cf7dfed348 Release 2024.04.16 2024-04-17 02:12:39 +00:00
dependabot[bot]
7fde9bf188
Bump traefik from 2.11.0 to 2.11.2 (#4993)
---
updated-dependencies:
- dependency-name: traefik
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-16 22:47:00 +01:00
pyup.io bot
ea68dd5c5d
Update sphinx-autobuild from 2024.4.13 to 2024.4.16 (#4999) 2024-04-16 22:42:13 +01:00
Bruno Alla
27b8450bc0
Fix Discord link formatting in README 2024-04-16 19:28:17 +01:00
Bruno Alla
9bd0eff3a7
Update Discord invite link
Fix #4990
2024-04-16 19:27:00 +01:00
browniebroke
173af52ebb Update Contributors 2024-04-16 18:23:54 +00:00
quroom
f79c89d928
Add options to reload django when file changes in windows docker (#4971)
* Add options to reload django when file changes in windows docker

* Fix Reloader interval as default and make code with indent to be only in docker
2024-04-16 19:23:05 +01:00
Matthew Foster Walsh
db60766526
Update docs for test_bare.sh (#4996) 2024-04-16 19:21:45 +01:00
dependabot[bot]
79ff7ca0bb
Bump stefanzweifel/git-auto-commit-action from 5.0.0 to 5.0.1 (#4994)
Bumps [stefanzweifel/git-auto-commit-action](https://github.com/stefanzweifel/git-auto-commit-action) from 5.0.0 to 5.0.1.
- [Release notes](https://github.com/stefanzweifel/git-auto-commit-action/releases)
- [Changelog](https://github.com/stefanzweifel/git-auto-commit-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stefanzweifel/git-auto-commit-action/compare/v5.0.0...v5.0.1)

---
updated-dependencies:
- dependency-name: stefanzweifel/git-auto-commit-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-16 13:56:46 +01:00
pyup.io bot
c6b972d712
Update sphinx-autobuild from 2024.2.4 to 2024.4.13 (#4991) 2024-04-16 13:56:18 +01:00
pyup.io bot
8d2b6a265b
Update sentry-sdk from 1.44.1 to 1.45.0 (#4982) 2024-04-16 13:55:57 +01:00
pyup.io bot
5395aeff52
Update ruff to 0.3.7 (#4989)
* Update ruff from 0.3.5 to 0.3.7

* Update ruff from 0.3.5 to 0.3.7
2024-04-16 13:55:03 +01:00
github-actions[bot]
b96dac09a9
Auto-update pre-commit hooks (#4988)
Co-authored-by: browniebroke <861044+browniebroke@users.noreply.github.com>
2024-04-16 13:54:47 +01:00
JAEGYUN JUNG
94269f8c7f
Add a prefix setting so that swagger tags are generated in a readable way (#4975)
* feat: Add a prefix setting so that swagger tags are generated in a readable way

* feat: Change `auth-token` URLs
2024-04-16 13:18:05 +01:00
github-actions
7d032d7303 Release 2024.04.10 2024-04-11 02:12:36 +00:00
dependabot[bot]
8a2eb3142f
Bump python in /{{cookiecutter.project_slug}}/compose/local/docs (#4979)
Bumps python from 3.12.2-slim-bookworm to 3.12.3-slim-bookworm.

---
updated-dependencies:
- dependency-name: python
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Bruno Alla <browniebroke@users.noreply.github.com>
2024-04-10 10:15:26 +01:00
Bruno Alla
8492ebe631
Update Heroku runtime from Python 3.12.2 to Python 3.12.3 2024-04-10 09:16:14 +01:00
dependabot[bot]
df0d91c873
Bump python from 3.12.2 to 3.12.3 in local (#4981)
Bumps python from 3.12.2-slim-bookworm to 3.12.3-slim-bookworm.

---
updated-dependencies:
- dependency-name: python
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-10 09:14:26 +01:00
dependabot[bot]
d8ade3be0d
Bump python from 3.12.2 to 3.12.3 in production (#4980)
Bumps python from 3.12.2-slim-bookworm to 3.12.3-slim-bookworm.

---
updated-dependencies:
- dependency-name: python
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-10 09:14:10 +01:00
github-actions
f6081a32f7 Release 2024.04.09 2024-04-10 02:11:37 +00:00
browniebroke
0e63336ddb Update Contributors 2024-04-09 13:53:53 +00:00
farwill
5916cf0d30
Fix start command for docs (#4978) 2024-04-09 14:53:08 +01:00
github-actions
681c13e0fa Release 2024.04.07 2024-04-08 02:12:34 +00:00
github-actions[bot]
eae5c9c1cd
Auto-update pre-commit hooks (#4974)
Co-authored-by: browniebroke <861044+browniebroke@users.noreply.github.com>
2024-04-07 09:11:22 +02:00
github-actions
b99ad39862 Release 2024.04.06 2024-04-07 02:13:12 +00:00
Arnav Choudhury
8060df4c51
Fix syntax error in GitHub CI workflow (#4972) 2024-04-06 09:31:30 +01:00
github-actions
83ceb39b50 Release 2024.04.05 2024-04-06 02:10:14 +00:00
Jelmer
e2b2d36b4f
Merge pull request #4965 from cookiecutter/pyup-update-django-webpack-loader-3.0.1-to-3.1.0
Update django-webpack-loader to 3.1.0
2024-04-05 12:38:11 +02:00
pyup-bot
aa0e49ae4b Update django-webpack-loader from 3.0.1 to 3.1.0 2024-04-04 16:41:29 +03:00
github-actions
831ce14ca3 Release 2024.04.03 2024-04-04 02:11:59 +00:00
browniebroke
1661e55375 Update Contributors 2024-04-03 13:49:59 +00:00
David Păcioianu
559fae8a70
Update ci.yml (#4964) 2024-04-03 15:49:12 +02:00
pyup.io bot
39af435201
Update sentry-sdk from 1.44.0 to 1.44.1 (#4963) 2024-04-03 07:28:07 -03:00
github-actions
27734891ab Release 2024.04.02 2024-04-03 02:11:47 +00:00
foarsitter
ab69189482 Update Contributors 2024-04-02 16:59:48 +00:00
Jelmer
9956f2b2e6
Merge pull request #4950 from GvS666/master
Change pytest import mode to importlib
2024-04-02 18:59:03 +02:00
foarsitter
d430e2f3fc Update Contributors 2024-04-02 16:53:50 +00:00
Jelmer
4abd083c64
Merge pull request #4954 from PatDuJour/patch-1
Use main over master for branch name in deployment-on-heroku instruction
2024-04-02 18:41:12 +02:00
Jelmer
ccdb6a4ba0
Merge pull request #4948 from cookiecutter/pyup-update-sentry-sdk-1.43.0-to-1.44.0
Update sentry-sdk to 1.44.0
2024-04-02 18:40:34 +02:00
Jelmer
668ee336c9
Merge pull request #4955 from cookiecutter/pyup-update-ruff-0.3.4-to-0.3.5
Update ruff to 0.3.5
2024-04-02 18:40:15 +02:00
Jelmer
7e41971a76
Merge pull request #4951 from cookiecutter/pyup-update-gitpython-3.1.42-to-3.1.43
Update gitpython to 3.1.43
2024-04-02 18:40:09 +02:00
Jelmer
53e360c8db
Merge pull request #4953 from cookiecutter/pyup-update-pillow-10.2.0-to-10.3.0
Update pillow to 10.3.0
2024-04-02 18:40:02 +02:00
Jelmer
101bfdb259
Merge pull request #4956 from cookiecutter/pyup-update-django-model-utils-4.4.0-to-4.5.0
Update django-model-utils to 4.5.0
2024-04-02 18:39:05 +02:00
Jelmer
4b9873a4f1
Merge pull request #4957 from cookiecutter/pyup-update-drf-spectacular-0.27.1-to-0.27.2
Update drf-spectacular to 0.27.2
2024-04-02 18:38:45 +02:00
Jelmer
10f6402d94
Merge pull request #4958 from cookiecutter/pyup-update-werkzeug-3.0.1-to-3.0.2
Update werkzeug to 3.0.2
2024-04-02 18:38:35 +02:00
Jelmer
38406ca107
Merge pull request #4959 from cookiecutter/update/pre-commit-autoupdate
Auto-update pre-commit hooks
2024-04-02 18:38:27 +02:00
Jelmer
0c5b738922
Merge pull request #4961 from simonliska/master
change obsolete docker image "docker/compose:1.29.2" to "docker:25.0"
2024-04-02 18:38:04 +02:00
Simon Liska
525ebf2b45 change obsolete docker image "docker/compose:1.29.2" to "docker:25.0" 2024-04-02 17:22:33 +02:00
browniebroke
8899824460 Auto-update pre-commit hooks 2024-04-02 02:24:13 +00:00
pyup-bot
1c9c91b15e Update werkzeug from 3.0.1 to 3.0.2 2024-04-01 22:40:40 +03:00
pyup-bot
308139717d Update drf-spectacular from 0.27.1 to 0.27.2 2024-04-01 22:40:12 +03:00
pyup-bot
79b2828f7b Update django-model-utils from 4.4.0 to 4.5.0 2024-04-01 22:40:09 +03:00
pyup-bot
a43cbf0709 Update ruff from 0.3.4 to 0.3.5 2024-04-01 21:42:18 +03:00
pyup-bot
a3f3268c95 Update ruff from 0.3.4 to 0.3.5 2024-04-01 21:42:18 +03:00
Patrick Zhang
349679ef33
Use main over master for branch name in deployment-on-heroku instruction 2024-04-02 02:11:25 +08:00
pyup-bot
5af055bccb Update pillow from 10.2.0 to 10.3.0 2024-04-01 17:25:02 +03:00
pyup-bot
719fa5d57b Update gitpython from 3.1.42 to 3.1.43 2024-03-31 10:47:17 +01:00
github-actions
35f21ba697 Release 2024.03.29 2024-03-30 02:08:54 +00:00
GvS
b9e88f94a7
Change pytest import mode to importlib 2024-03-29 12:06:05 +00:00
Abe Hanoka
bca7d02f0a
Add instruction for adding a django app (#4944)
* feat(docs): add instruction for adding a django app

Following the the steps outlined in:
https://github.com/cookiecutter/cookiecutter-django/discussions/4339#discussioncomment-5922166
this PR adds a "Creating Your First Django App" section to the docs
breifly expalins the file structure and outlines the steps to add a new
app.

* Update docs/developing-locally.rst

Co-authored-by: Bruno Alla <browniebroke@users.noreply.github.com>

* Update docs/developing-locally.rst

Co-authored-by: Bruno Alla <browniebroke@users.noreply.github.com>

---------

Co-authored-by: Bruno Alla <browniebroke@users.noreply.github.com>
2024-03-29 09:48:14 +00:00
pyup-bot
099d0f2391 Update sentry-sdk from 1.43.0 to 1.44.0 2024-03-28 16:04:42 +00:00
github-actions
a8ff250a9d Release 2024.03.27 2024-03-28 02:12:49 +00:00
pyup.io bot
4166119930
Update pre-commit to 3.7.0 (#4943)
* Update pre-commit from 3.6.2 to 3.7.0

* Update pre-commit from 3.6.2 to 3.7.0
2024-03-27 08:20:50 +00:00
pyup.io bot
f07848448a
Update pygithub from 2.2.0 to 2.3.0 (#4942) 2024-03-27 08:20:37 +00:00
pyup.io bot
ba4d7f6435
Update djangorestframework from 3.15.0 to 3.15.1 (#4941) 2024-03-27 08:19:41 +00:00
pyup.io bot
bd9181befa
Update tox from 4.14.1 to 4.14.2 (#4940) 2024-03-27 08:19:31 +00:00
pyup.io bot
52b4a61d82
Update ruff to 0.3.4 (#4936)
* Update ruff from 0.3.3 to 0.3.4

* Update ruff from 0.3.3 to 0.3.4
2024-03-27 08:19:05 +00:00
github-actions[bot]
bf09d5614f
Auto-update pre-commit hooks (#4937)
Co-authored-by: browniebroke <861044+browniebroke@users.noreply.github.com>
2024-03-27 08:18:48 +00:00
github-actions
c616a03632 Release 2024.03.26 2024-03-27 02:10:43 +00:00
Eraldo Energy
f4362c7676
Update mentions of psycopg in comments (#4947) 2024-03-26 15:47:02 +00:00
github-actions
1a7e6a8414 Release 2024.03.21 2024-03-22 02:10:09 +00:00
Nix Siow
ad6faa617d
Add PostgreSQL 16, remove Postgres 10 and 11 (#4935)
Add support for PostgreSQL 16 and remove support for version 10 & 11
2024-03-21 14:00:32 +01:00
Jelmer
574163670d
Merge pull request #4933 from cookiecutter/pyup-update-uvicorn-0.28.0-to-0.29.0
Update uvicorn to 0.29.0
2024-03-21 08:49:05 +01:00
Jelmer
883d60fced
Merge pull request #4934 from cookiecutter/pyup-update-sentry-sdk-1.42.0-to-1.43.0
Update sentry-sdk to 1.43.0
2024-03-21 08:48:55 +01:00
pyup-bot
387f03e673 Update sentry-sdk from 1.42.0 to 1.43.0 2024-03-20 14:03:56 +00:00
pyup-bot
2e8412521a Update uvicorn from 0.28.0 to 0.29.0 2024-03-20 07:43:05 +00:00
github-actions
747a1b1502 Release 2024.03.19 2024-03-20 02:10:14 +00:00
Jelmer
3b3cf416f3
Merge pull request #4930 from foarsitter/py312
Upgrade Python to version 3.12
2024-03-19 10:41:04 +01:00
Jelmer
bb2c1c9952
Merge pull request #4898 from SukiCZ/docs/postgres-upgrade
Add documentation to upgrade Postgres in Docker environment. Fix: #461
2024-03-19 10:40:52 +01:00
github-actions
88a90402a4 Release 2024.03.18 2024-03-19 02:10:39 +00:00
Shayan Karimi
a1d34a08af
Split the docs from local.yml and build the service in CI (#4909)
* Split the docs from local.yml and build the service in CI

* Change docs build in our CI docker tests
2024-03-18 19:26:18 +00:00
Jelmer Draaijer
b488056b63 Upgrade Python to version 3.12 2024-03-18 20:07:24 +01:00
pyup.io bot
5c71441c9b
Update django-anymail to 10.3 (#4919)
* Update django-anymail from 10.2 to 10.3
2024-03-18 08:55:46 +01:00
Jelmer
b5839e28af
Merge pull request #4921 from cookiecutter/pyup-update-sentry-sdk-1.41.0-to-1.42.0
Update sentry-sdk to 1.42.0
2024-03-18 08:55:20 +01:00
pyup.io bot
523b61ae7c
Update coverage from 7.4.3 to 7.4.4 (#4926)
Co-authored-by: Jelmer <info@jelmert.nl>
2024-03-18 08:55:10 +01:00
Jelmer
6fd8493831
Merge pull request #4927 from cookiecutter/pyup-update-ruff-0.3.2-to-0.3.3
Update ruff to 0.3.3
2024-03-18 08:54:21 +01:00
Jelmer
45266e81f4
Merge pull request #4928 from cookiecutter/update/pre-commit-autoupdate
Auto-update pre-commit hooks
2024-03-18 08:54:13 +01:00
browniebroke
ba4f3299ba Auto-update pre-commit hooks 2024-03-18 02:23:15 +00:00
github-actions
0ba5fc708d Release 2024.03.17 2024-03-18 02:10:30 +00:00
Jelmer
20d0e2bfe7
Merge pull request #4929 from cookiecutter/pyup-update-djangorestframework-3.14.0-to-3.15.0
Update djangorestframework to 3.15.0
2024-03-17 11:07:30 +01:00
pyup-bot
7b1d5f1598 Update djangorestframework from 3.14.0 to 3.15.0 2024-03-16 22:22:40 +00:00
pyup-bot
c76c14ace5 Update ruff from 0.3.2 to 0.3.3 2024-03-15 19:46:41 +00:00
pyup-bot
a406fde1af Update ruff from 0.3.2 to 0.3.3 2024-03-15 19:46:41 +00:00
pyup-bot
93024ca941 Update sentry-sdk from 1.41.0 to 1.42.0 2024-03-13 14:06:22 +00:00
github-actions
2e9a9b0288 Release 2024.03.10 2024-03-11 02:11:29 +00:00
github-actions[bot]
c1d580af48
Auto-update pre-commit hooks (#4912)
Co-authored-by: browniebroke <861044+browniebroke@users.noreply.github.com>
2024-03-10 17:41:39 +00:00
pyup.io bot
a1541891ed
Update ruff to 0.3.2 (#4911)
* Update ruff from 0.3.0 to 0.3.2

* Update ruff from 0.3.0 to 0.3.2
2024-03-10 17:41:29 +00:00
pyup.io bot
6c5ac37ed0
Update uvicorn from 0.27.1 to 0.28.0 (#4913) 2024-03-10 17:41:01 +00:00
pyup.io bot
cd9b5c0201
Update redis from 5.0.2 to 5.0.3 (#4916) 2024-03-10 17:40:41 +00:00
pyup.io bot
c561f51660
Update pytest to 8.1.1 (#4914)
* Update pytest from 8.1.0 to 8.1.1

* Update pytest from 8.1.0 to 8.1.1
2024-03-10 17:39:29 +00:00
github-actions
b27fd26b78 Release 2024.03.07 2024-03-08 02:09:57 +00:00
pyup.io bot
cc55c8c671
Update tox from 4.14.0 to 4.14.1 (#4906) 2024-03-07 22:12:16 +00:00
github-actions[bot]
374915c6a1
Auto-update pre-commit hooks (#4907)
Co-authored-by: browniebroke <861044+browniebroke@users.noreply.github.com>
2024-03-07 22:11:21 +00:00
pyup.io bot
64cb0073f8
Update sentry-sdk from 1.40.6 to 1.41.0 (#4908) 2024-03-07 22:10:53 +00:00
github-actions
9e8931e25c Release 2024.03.06 2024-03-07 02:05:07 +00:00
pyup.io bot
a11547f27e
Update tox to 4.14.0 (#4904) 2024-03-06 14:01:23 +00:00
GitBib
f39aff8b3f
Fix fully qualified docker images (#4905)
* Fix Python (docker) Docker image version not being recognized after adding registry to image names

* Fix Python (docs) Docker image version not being recognized after adding registry to image names

* Fix Python (django) Docker image version not being recognized after adding registry to image names
2024-03-06 13:50:01 +00:00
github-actions
f1da6ba5f5 Release 2024.03.04 2024-03-05 02:09:53 +00:00
pyup.io bot
0b4e92739c
Update pytest to 8.1.0 (#4900)
* Update pytest from 8.0.2 to 8.1.0

* Update pytest from 8.0.2 to 8.1.0
2024-03-04 12:36:36 +00:00
pyup.io bot
2aff1bdb75
Update django to 4.2.11 (#4901) 2024-03-04 12:32:18 +00:00
github-actions
3d4dcee356 Release 2024.03.03 2024-03-04 02:33:36 +00:00
pyup.io bot
6d6f037b07
Update django-celery-beat from 2.5.0 to 2.6.0 (#4899) 2024-03-03 18:56:41 +00:00
github-actions
22d927ed17 Release 2024.03.01 2024-03-02 02:08:19 +00:00
Jakub Boukal
fa44078ca6 Add documentation to upgrade Postgres in Docker environment. Fixes: #461 2024-03-01 13:31:04 +01:00
Jelmer
074ebce0c7
Merge pull request #4884 from browniebroke/maintainer-guide
Add a maintainer guide to the docs
2024-03-01 09:35:04 +01:00
Jelmer
54185228e3
Merge pull request #4897 from cookiecutter/update/pre-commit-autoupdate
Auto-update pre-commit hooks
2024-03-01 09:31:08 +01:00
Jelmer
f15aa53f10
Merge pull request #4896 from cookiecutter/pyup-update-ruff-0.2.2-to-0.3.0
Update ruff to 0.3.0
2024-03-01 09:31:00 +01:00
browniebroke
4887b92148 Auto-update pre-commit hooks 2024-03-01 02:24:13 +00:00
pyup-bot
48fadda99a Update ruff from 0.2.2 to 0.3.0 2024-02-29 15:44:35 +00:00
pyup-bot
46c0c51c52 Update ruff from 0.2.2 to 0.3.0 2024-02-29 15:44:35 +00:00
github-actions
b0cfbc35b1 Release 2024.02.28 2024-02-29 02:09:01 +00:00
pyup.io bot
e72da846f2
Update redis to 5.0.2 (#4895) 2024-02-28 14:47:46 +00:00
Jelmer
96680378f9
Merge pull request #4894 from reggieriser/fix-allauth-element-errors
Fix invalid HTML in django-allauth field element template
2024-02-28 11:18:17 +01:00
pyup.io bot
93e5e16fc2
Update sentry-sdk to 1.40.6 (#4893) 2024-02-28 09:42:30 +00:00
browniebroke
ebb6c8b225 Update Contributors 2024-02-28 09:41:45 +00:00
Simeon Emanuilov
95e5598dfd
Fix permissions for media files when served by nginx (#4889)
chore: adding recursive flag for the WORKDIR directory
2024-02-28 09:41:08 +00:00
browniebroke
f617433bac Update Contributors 2024-02-28 09:37:18 +00:00
JAEGYUN JUNG
81a1fc8a38
Fix broken "Two scoops of django" link in FAQ (#4892) 2024-02-28 09:36:39 +00:00
Reggie Riser
f86df89db9 Fixed invalid HTML in django-allauth field element template 2024-02-27 14:53:12 -05:00
github-actions
1174889779 Release 2024.02.26 2024-02-27 02:09:36 +00:00
Jelmer
6dcf48fd0a
Merge pull request #4890 from cookiecutter/pyup-update-pytest-8.0.1-to-8.0.2
Update pytest to 8.0.2
2024-02-26 08:39:41 +01:00
Jelmer
57158338ce
Merge pull request #4891 from cookiecutter/pyup-update-crispy-bootstrap5-2023.10-to-2024.2
Update crispy-bootstrap5 to 2024.2
2024-02-26 08:39:33 +01:00
Jelmer
daacdd078b
Merge pull request #4843 from foarsitter/allauth
Allauth elements & MFA
2024-02-26 08:39:17 +01:00
pyup-bot
5f2c9e6e40 Update crispy-bootstrap5 from 2023.10 to 2024.2 2024-02-25 09:38:31 +00:00
pyup-bot
c7872e6c0f Update pytest from 8.0.1 to 8.0.2 2024-02-25 02:12:07 +00:00
pyup-bot
56f630bae6 Update pytest from 8.0.1 to 8.0.2 2024-02-25 02:12:07 +00:00
github-actions
c3708c0809 Release 2024.02.24 2024-02-25 02:12:02 +00:00
Jelmer Draaijer
0e41e5e8d0 Added messages to entrance page 2024-02-24 19:32:56 +01:00
Jelmer Draaijer
2c93ef4009 Entrance justify-content-center with a sice of md-4 2024-02-24 19:31:34 +01:00
Bruno Alla
052330272a
Bump Heroku Python version to 3.11.8 2024-02-24 18:14:52 +01:00
Bruno Alla
8f2b894176
Merge branch 'master' into allauth
# Conflicts:
#	{{cookiecutter.project_slug}}/requirements/base.txt
2024-02-24 18:03:38 +01:00
pyup.io bot
ddf1852768
Update coverage from 7.4.1 to 7.4.3 (#4888) 2024-02-24 13:50:30 +01:00
github-actions
91ebf6f95b Release 2024.02.23 2024-02-24 02:08:16 +00:00
Bruno Alla
899a1915cd
Add paragraph about automated updates 2024-02-23 15:53:03 +01:00
Bruno Alla
37f974157b
Switch to dependabot for template & docs deps updates
This enables us to use a separate label
2024-02-23 15:44:29 +01:00
dependabot[bot]
0ca9be321a
Bump webpack-dev-server to 5.0.2 (#4875)
* Bump webpack-dev-server in /{{cookiecutter.project_slug}}

Bumps [webpack-dev-server](https://github.com/webpack/webpack-dev-server) from 4.15.1 to 5.0.2.
- [Release notes](https://github.com/webpack/webpack-dev-server/releases)
- [Changelog](https://github.com/webpack/webpack-dev-server/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack/webpack-dev-server/compare/v4.15.1...v5.0.2)

---
updated-dependencies:
- dependency-name: webpack-dev-server
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update server proxy syntax for webpack-dev-server@v5

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Bruno Alla <alla.brunoo@gmail.com>
2024-02-23 14:38:40 +00:00
Matthew Foster Walsh
4db3ea1e58
Switch to local imports within app (#4883) 2024-02-23 14:37:34 +00:00
browniebroke
916f666637 Update Contributors 2024-02-23 14:36:31 +00:00
Mounir
357604f37b
Install ruff extension in devcontainer.json (#4887)
organizeImports is expecting a string.
2024-02-23 14:35:52 +00:00
Bruno Alla
a76656aba1
Add a maintainer guide to the docs 2024-02-22 10:39:45 +01:00
pyup.io bot
49a66b3583
Update cookiecutter to 2.6.0 (#4882) 2024-02-22 08:36:44 +00:00
github-actions
ee55aa29b4 Release 2024.02.21 2024-02-22 02:10:02 +00:00
Matthew Foster Walsh
a247d8f8a2
Switch to celery.shared_task (#4881)
* Switch to celery.shared_task

* Sort impots

---------

Co-authored-by: Bruno Alla <browniebroke@users.noreply.github.com>
2024-02-21 22:07:25 +01:00
github-actions[bot]
70cde064d4
Auto-update pre-commit hooks (#4873)
Co-authored-by: browniebroke <861044+browniebroke@users.noreply.github.com>
Co-authored-by: Bruno Alla <browniebroke@users.noreply.github.com>
2024-02-21 17:18:53 +00:00
pyup.io bot
c6bd47a1bf
Update pre-commit to 3.6.2 (#4874)
* Update pre-commit from 3.6.1 to 3.6.2

* Update pre-commit from 3.6.1 to 3.6.2
2024-02-21 13:38:02 +00:00
pyup.io bot
8031a2a51a
Update ruff to 0.2.2 (#4871)
* Update ruff from 0.2.1 to 0.2.2

* Update ruff from 0.2.1 to 0.2.2
2024-02-21 13:37:47 +00:00
browniebroke
4391f1da5c Update Contributors 2024-02-21 10:02:45 +00:00
Matthew Foster Walsh
b756d904d7
You probably don't need get_user_model (#4879)
* You probably don't need `get_user_model`
Fixes #4872

* Fix Flake8 (add space after import)

* (try to) fix ruff

* Fix import format
2024-02-21 10:01:56 +00:00
github-actions
8c60674654 Release 2024.02.19 2024-02-20 02:09:27 +00:00
pyup.io bot
adebac5b88
Update sentry-sdk from 1.40.4 to 1.40.5 (#4876) 2024-02-19 16:30:11 +00:00
github-actions
2ac513e0c1 Release 2024.02.17 2024-02-18 02:11:43 +00:00
pyup.io bot
7db193d9fa
Update pytest to 8.0.1 (#4870)
* Update pytest from 8.0.0 to 8.0.1

* Update pytest from 8.0.0 to 8.0.1
2024-02-17 10:39:05 +00:00
pyup.io bot
dea7316a62
Update tox to 4.13.0 (#4868) 2024-02-17 10:25:34 +00:00
github-actions
cb0e06dcbd Release 2024.02.16 2024-02-17 02:09:39 +00:00
pyup.io bot
f77233d7c0
Update gitpython to 3.1.42 (#4864) 2024-02-16 10:14:57 +00:00
browniebroke
80147bd340 Update Contributors 2024-02-16 09:55:59 +00:00
Paul Wulff
6237573637
Speed up CI pytest by 30%: Change ci.yml to only build images relevant for running pytest (#4863)
In order to run pytest we can constrain the build command to only build the images related to the django service. 

This mainly prevents the docs image from being built unnecessarily.

This cuts run time of the Github Actions workflow from approx. 4min 30s to below 3min.
2024-02-16 09:55:24 +00:00
mpsantos
fd959eedd9
Added link to the ruff repository (#4866) 2024-02-16 09:52:55 +00:00
github-actions
bf9a861ddc Release 2024.02.13 2024-02-14 02:10:20 +00:00
Jelmer
de54e4fba3
Merge pull request #4848 from cookiecutter/pyup-update-uvicorn-0.27.0.post1-to-0.27.1
Update uvicorn to 0.27.1
2024-02-13 14:50:27 +01:00
Jelmer
27a7a4085d
Merge pull request #4858 from cookiecutter/pyup-update-sentry-sdk-1.40.3-to-1.40.4
Update sentry-sdk to 1.40.4
2024-02-13 14:50:16 +01:00
Jelmer
5bc8ac664c
Merge pull request #4834 from foarsitter/ruff
Ruff linting & formatting
2024-02-13 14:48:37 +01:00
pyup-bot
9a5b9c2f53 Update sentry-sdk from 1.40.3 to 1.40.4 2024-02-13 12:05:49 +00:00
Jelmer Draaijer
0fc4ea6165 Apply ruff to codebase 2024-02-13 11:59:55 +01:00
Jelmer Draaijer
6ba6104f09 Ruff as formatter & linter 2024-02-13 11:59:54 +01:00
dependabot[bot]
dd841c6478
Bump traefik to 2.11.0 (#4857)
Bumps traefik from 2.10.7 to 2.11.0.

---
updated-dependencies:
- dependency-name: traefik
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-13 10:28:24 +00:00
github-actions[bot]
07376d8a7f
Auto-update pre-commit hooks (#4855)
Co-authored-by: browniebroke <861044+browniebroke@users.noreply.github.com>
2024-02-13 10:25:25 +00:00
pyup.io bot
2e129bd65b
Update black to 24.2.0 (#4853)
* Update black from 24.1.1 to 24.2.0

* Update black from 24.1.1 to 24.2.0
2024-02-13 10:25:10 +00:00
github-actions
f12ac669f3 Release 2024.02.12 2024-02-13 02:10:21 +00:00
Bruno Alla
991f20e44f
Merge branch 'master' into pyup-update-uvicorn-0.27.0.post1-to-0.27.1 2024-02-12 09:26:03 +00:00
pyup.io bot
576bb1d452
Update django-model-utils to 4.4.0 (#4850) 2024-02-12 09:25:47 +00:00
pyup.io bot
6ac86a5b57
Update pre-commit to 3.6.1 (#4849)
* Update pre-commit from 3.6.0 to 3.6.1

* Update pre-commit from 3.6.0 to 3.6.1
2024-02-12 09:25:23 +00:00
pyup.io bot
1086d19af9
Update django-upgrade to 1.16.0 (#4851) 2024-02-12 09:25:06 +00:00
github-actions[bot]
e95c2733dd
Auto-update pre-commit hooks (#4852)
Co-authored-by: browniebroke <861044+browniebroke@users.noreply.github.com>
2024-02-12 09:24:54 +00:00
pyup-bot
1283102629 Update uvicorn from 0.27.0.post1 to 0.27.1 2024-02-10 13:43:55 +00:00
github-actions
9b0bc1cc5c Release 2024.02.09 2024-02-10 02:08:31 +00:00
pyup.io bot
474b82b5d3
Update sentry-sdk to 1.40.3 (#4847) 2024-02-09 12:49:08 +00:00
pyup.io bot
1e09d20ffc
Update django-allauth to 0.61.1 (#4846) 2024-02-09 10:48:31 +00:00
pyup.io bot
519d07144c
Update python-slugify to 8.0.4 (#4844) 2024-02-09 10:46:52 +00:00
github-actions
d4ff2e4adf Release 2024.02.08 2024-02-09 02:09:41 +00:00
Jelmer Draaijer
44ca412dc1 Enable allauth.mfa for two-factor authentication 2024-02-08 16:52:16 +01:00
Jelmer Draaijer
6b90a9e701 Implement allauth elements and add body & main block for more override capabilities 2024-02-08 16:42:07 +01:00
Jelmer
bb6d176235
Merge pull request #4840 from cookiecutter/dependabot/docker/{{cookiecutter.project_slug}}/compose/local/docs/python-3.11.8-slim-bookworm
Bump python from 3.11.7-slim-bookworm to 3.11.8-slim-bookworm in /{{cookiecutter.project_slug}}/compose/local/docs
2024-02-08 08:09:36 +01:00
Jelmer
d1cc4dc801
Merge pull request #4841 from cookiecutter/dependabot/docker/{{cookiecutter.project_slug}}/compose/local/django/python-3.11.8-slim-bookworm
Bump python from 3.11.7-slim-bookworm to 3.11.8-slim-bookworm in /{{cookiecutter.project_slug}}/compose/local/django
2024-02-08 08:09:28 +01:00
Jelmer
f9b4ce315f
Merge pull request #4842 from cookiecutter/dependabot/docker/{{cookiecutter.project_slug}}/compose/production/django/python-3.11.8-slim-bookworm
Bump python from 3.11.7-slim-bookworm to 3.11.8-slim-bookworm in /{{cookiecutter.project_slug}}/compose/production/django
2024-02-08 08:09:16 +01:00
dependabot[bot]
908697e5a3
Bump python in /{{cookiecutter.project_slug}}/compose/production/django
Bumps python from 3.11.7-slim-bookworm to 3.11.8-slim-bookworm.

---
updated-dependencies:
- dependency-name: python
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-08 05:29:46 +00:00
dependabot[bot]
f2c320527a
Bump python in /{{cookiecutter.project_slug}}/compose/local/django
Bumps python from 3.11.7-slim-bookworm to 3.11.8-slim-bookworm.

---
updated-dependencies:
- dependency-name: python
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-08 05:23:12 +00:00
dependabot[bot]
300ccc6b57
Bump python in /{{cookiecutter.project_slug}}/compose/local/docs
Bumps python from 3.11.7-slim-bookworm to 3.11.8-slim-bookworm.

---
updated-dependencies:
- dependency-name: python
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-08 05:10:33 +00:00
github-actions
d5967ed3e9 Release 2024.02.07 2024-02-08 02:09:26 +00:00
Jelmer
2f93474a0c
Merge pull request #4839 from cookiecutter/pyup-update-django-allauth-0.60.1-to-0.61.0
Update django-allauth to 0.61.0
2024-02-07 19:39:22 +01:00
Jelmer
50b7ebf9da
Merge pull request #4838 from foarsitter/production_check
Extend docker test with deploy check
2024-02-07 16:18:03 +01:00
Jelmer
df730044b2
Merge pull request #4836 from foarsitter/mypy_generic_user_manager
Generic UserManager
2024-02-07 15:16:22 +01:00
pyup-bot
10376eb172 Update django-allauth from 0.60.1 to 0.61.0 2024-02-07 13:53:26 +00:00
Jelmer Draaijer
3cd8d87592 Run manage.py check with production settings 2024-02-07 14:41:49 +01:00
Jelmer Draaijer
f00d698952 Install production dependency local in development 2024-02-07 14:18:14 +01:00
Jelmer Draaijer
52e7b05209 Generic UserManager 2024-02-07 13:40:58 +01:00
dependabot[bot]
27356353d8
Bump gulp-postcss to 10.0.0 (#4835)
Bumps [gulp-postcss](https://github.com/postcss/gulp-postcss) from 9.1.0 to 10.0.0.
- [Release notes](https://github.com/postcss/gulp-postcss/releases)
- [Commits](https://github.com/postcss/gulp-postcss/compare/9.1.0...10.0.0)

---
updated-dependencies:
- dependency-name: gulp-postcss
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Bruno Alla <browniebroke@users.noreply.github.com>
2024-02-07 12:26:36 +00:00
pyup.io bot
676234b3a4
Update sentry-sdk to 1.40.2 (#4837)
Co-authored-by: Bruno Alla <browniebroke@users.noreply.github.com>
2024-02-07 12:25:45 +00:00
pyup.io bot
385ef51464
Update django to 4.2.10 (#4833) 2024-02-07 12:07:37 +00:00
github-actions
5088786856 Release 2024.02.05 2024-02-06 02:10:18 +00:00
Jelmer
b55500d772
Merge pull request #4813 from cookiecutter/pyup-update-pytest-7.4.4-to-8.0.0
Update pytest to 8.0.0
2024-02-05 14:12:52 +01:00
Jelmer
545d380a55
Merge branch 'master' into pyup-update-pytest-7.4.4-to-8.0.0 2024-02-05 13:58:12 +01:00
Jelmer
718a414e2e
Merge pull request #4827 from cookiecutter/dependabot/github_actions/peter-evans/create-pull-request-6
Bump peter-evans/create-pull-request from 5 to 6
2024-02-05 13:56:46 +01:00
Jelmer
a4741c5a8f
Merge pull request #4828 from cookiecutter/pyup-update-pytest-sugar-0.9.7-to-1.0.0
Update pytest-sugar to 1.0.0
2024-02-05 13:56:41 +01:00
Jelmer
f69abd1352
Merge pull request #4830 from cookiecutter/pyup-update-sphinx-autobuild-2021.3.14-to-2024.2.4
Update sphinx-autobuild to 2024.2.4
2024-02-05 13:56:32 +01:00
Jelmer
2225fae2b0
Merge pull request #4829 from cookiecutter/pyup-update-django-debug-toolbar-4.2.0-to-4.3.0
Update django-debug-toolbar to 4.3.0
2024-02-05 13:56:17 +01:00
Jelmer
a4d7a31d89
Merge pull request #4831 from cookiecutter/pyup-update-psycopg-3.1.17-to-3.1.18
Update psycopg to 3.1.18
2024-02-05 13:56:09 +01:00
pyup-bot
c2d236fc7f Update psycopg from 3.1.17 to 3.1.18 2024-02-04 21:41:26 +00:00
pyup-bot
0cb95819a9 Update psycopg from 3.1.17 to 3.1.18 2024-02-04 21:41:25 +00:00
pyup-bot
0d10182a93 Update psycopg from 3.1.17 to 3.1.18 2024-02-04 21:41:25 +00:00
pyup-bot
f6db519de0 Update sphinx-autobuild from 2021.3.14 to 2024.2.4 2024-02-04 07:45:27 +00:00
pyup-bot
71011c2897 Update django-debug-toolbar from 4.2.0 to 4.3.0 2024-02-01 19:59:18 +00:00
pyup-bot
6635886302 Update pytest-sugar from 0.9.7 to 1.0.0 2024-02-01 19:59:15 +00:00
dependabot[bot]
f4086f83a7
Bump peter-evans/create-pull-request from 5 to 6
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 5 to 6.
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](https://github.com/peter-evans/create-pull-request/compare/v5...v6)

---
updated-dependencies:
- dependency-name: peter-evans/create-pull-request
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-01 05:18:48 +00:00
github-actions
102a94f1aa Release 2024.01.31 2024-02-01 02:12:57 +00:00
pyup.io bot
9ea2365d2f
Update python-slugify to 8.0.3 (#4826) 2024-01-31 20:02:22 +00:00
dependabot[bot]
b556cef533
Bump tiangolo/issue-manager from 0.4.1 to 0.5.0 (#4825)
Bumps [tiangolo/issue-manager](https://github.com/tiangolo/issue-manager) from 0.4.1 to 0.5.0.
- [Release notes](https://github.com/tiangolo/issue-manager/releases)
- [Commits](https://github.com/tiangolo/issue-manager/compare/0.4.1...0.5.0)

---
updated-dependencies:
- dependency-name: tiangolo/issue-manager
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-31 10:20:08 +00:00
github-actions
f3cf85500c Release 2024.01.30 2024-01-31 02:10:36 +00:00
pyup.io bot
7d75873f09
Update pytest-django to 4.8.0 (#4823) 2024-01-30 15:46:16 +00:00
pyup.io bot
299a2dc550
Update sentry-sdk to 1.40.0 (#4822) 2024-01-30 15:45:03 +00:00
pyup.io bot
5d8a538f25
Update uvicorn to 0.27.0.post1 (#4818) 2024-01-30 15:44:23 +00:00
pyup.io bot
db3b1d5117
Update pygithub to 2.2.0 (#4821) 2024-01-30 12:02:34 +00:00
github-actions
5d9efa648b Release 2024.01.29 2024-01-30 02:10:02 +00:00
browniebroke
a11f02de8d Update Contributors 2024-01-29 13:10:31 +00:00
henningbra
cce9c0ee00
Update mention of coverage config file to pyproject.toml in documentation (#4816)
* Update testing.rst - coverage config file is now pyproject.toml

* Update docs/testing.rst

---------

Co-authored-by: Bruno Alla <browniebroke@users.noreply.github.com>
2024-01-29 13:09:00 +00:00
Jelmer
5083f866d7
Merge pull request #4815 from foarsitter/webpack_deprecated_loader
Fix deprecation warning about renaming of `webpack_loader.loader` to `webpack_loader.loaders`
2024-01-29 10:30:40 +01:00
Jelmer
9227319998
Merge pull request #4814 from cookiecutter/pyup-update-black-24.1.0-to-24.1.1
Update black to 24.1.1
2024-01-29 10:30:28 +01:00
Jelmer
96756036f8
Merge pull request #4817 from cookiecutter/update/pre-commit-autoupdate
Auto-update pre-commit hooks
2024-01-29 10:30:19 +01:00
browniebroke
4f02e397d5 Auto-update pre-commit hooks 2024-01-29 02:23:00 +00:00
Jelmer Draaijer
e87b6fad33 'webpack_loader.loader' module has been renamed to 'webpack_loader.loaders' 2024-01-28 12:38:24 +01:00
pyup-bot
d45c042cd7 Update black from 24.1.0 to 24.1.1 2024-01-28 06:30:23 +00:00
pyup-bot
2ef8d0a78e Update black from 24.1.0 to 24.1.1 2024-01-28 06:30:23 +00:00
pyup-bot
a5cf715966 Update pytest from 7.4.4 to 8.0.0 2024-01-28 02:11:53 +00:00
pyup-bot
c7c16c746c Update pytest from 7.4.4 to 8.0.0 2024-01-28 02:11:52 +00:00
github-actions
e840b75eba Release 2024.01.27 2024-01-28 02:11:47 +00:00
Jelmer
544e1e1038
Merge pull request #4809 from foarsitter/webpack_disable_devserver_overlay_for_warnings
Do not show webpack devserver overlay for warnings
2024-01-27 13:54:39 +01:00
Jelmer
05c0d3ee52
Merge pull request #4805 from cookiecutter/pyup-update-python-slugify-8.0.1-to-8.0.2
Update python-slugify to 8.0.2
2024-01-27 13:54:03 +01:00
pyup.io bot
b68913ccef
Update coverage from 7.4.0 to 7.4.1 (#4807) 2024-01-27 10:17:24 +00:00
Jelmer Draaijer
e4d6b98c93 Do not show webpack devserver overlay for warnings 2024-01-27 10:34:23 +01:00
github-actions
8324c160e8 Release 2024.01.26 2024-01-27 02:08:59 +00:00
pyup.io bot
6301fcc603
Update black to 24.1.0 (#4806)
* Update black from 23.12.1 to 24.1.0

* Update black from 23.12.1 to 24.1.0

* Update black pre-commit hooks

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Fix a few styling issues for black v24

---------

Co-authored-by: Bruno Alla <alla.brunoo@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2024-01-26 10:49:52 +00:00
github-actions
cf788ffe61 Release 2024.01.25 2024-01-26 02:11:42 +00:00
pyup-bot
991a1097dd Update python-slugify from 8.0.1 to 8.0.2 2024-01-25 17:51:29 +00:00
Tim Freund
c7eded8644
Add registry to Docker images names (#4804)
Prepending docker.io/ to image names allows projects to be run in
alternate runtimes such as podman-compose without additional
configuration.
2024-01-25 09:12:07 +00:00
browniebroke
956469849a Update Contributors 2024-01-25 09:02:05 +00:00
Jens Kaeske
bda89eaa06
Replace custom static & media storage classes by passing options in the STORAGES setting (#4803)
The custom cloud storages module has been deleted, and the settings have been updated to use the storage backend settings directly from each cloud provider's storage backend libraries. These changes have simplified the cloud storage configuration for each cloud provider in the production settings file.
2024-01-25 09:01:27 +00:00
github-actions
4da8386f9c Release 2024.01.24 2024-01-25 02:17:27 +00:00
pyup.io bot
cd0a76c46f
Update uvicorn to 0.27.0 (#4800) 2024-01-24 15:34:24 +00:00
Bruno Alla
1899b485e6
Migrate to the unified STORAGES setting added in Django 4.2 (#4477)
* changed settings.py vars to reflect django-4.2

* Fix code style

* removed overriding and if block in variable

* Fix code style

* Remove comment

* Add back default file storage

---------

Co-authored-by: Manan Bhavsar <mananbh9@live.com>
2024-01-24 15:32:44 +00:00
Bruno Alla
e354622bb7
Auto-close issue marked as "wontfix" 2024-01-24 10:25:58 +00:00
github-actions
a634c7aed9 Release 2024.01.21 2024-01-22 02:18:09 +00:00
dependabot[bot]
d9033c1ee2
Bump browser-sync from 2.29.3 to 3.0.2 in /{{cookiecutter.project_slug}} (#4765)
Bumps [browser-sync](https://github.com/BrowserSync/browser-sync) from 2.29.3 to 3.0.2.
- [Release notes](https://github.com/BrowserSync/browser-sync/releases)
- [Changelog](https://github.com/BrowserSync/browser-sync/blob/master/CHANGELOG.md)
- [Commits](https://github.com/BrowserSync/browser-sync/compare/v2.29.3...v3.0.2)

---
updated-dependencies:
- dependency-name: browser-sync
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-21 22:37:30 +00:00
Cristian Vargas
86faba37d9
Update traefik doc links (#4798)
* Update traefik doc links

* Update traefik doc. Use correct anchor
2024-01-21 22:32:47 +00:00
github-actions
572ed96d35 Release 2024.01.19 2024-01-20 02:15:14 +00:00
pyup.io bot
238d54a8a8
Update drf-spectacular to 0.27.1 (#4797) 2024-01-19 10:04:12 +00:00
github-actions
5aa3c60537 Release 2024.01.17 2024-01-18 02:16:35 +00:00
dependabot[bot]
3f57c5525a
Bump webpack-bundle-tracker to 3.0.1 (#4781)
Bumps [webpack-bundle-tracker](https://github.com/django-webpack/webpack-bundle-tracker) from 2.0.1 to 3.0.1.
- [Release notes](https://github.com/django-webpack/webpack-bundle-tracker/releases)
- [Commits](https://github.com/django-webpack/webpack-bundle-tracker/compare/2.0.1...v3.0.1)

---
updated-dependencies:
- dependency-name: webpack-bundle-tracker
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-17 09:27:11 +00:00
pyup.io bot
1ee1de2df7
Update django-webpack-loader to 3.0.1 (#4793) 2024-01-17 09:26:10 +00:00
dependabot[bot]
d990dcacab
Bump postcss-loader to 8.0.0 (#4795)
Bumps [postcss-loader](https://github.com/webpack-contrib/postcss-loader) from 7.3.4 to 8.0.0.
- [Release notes](https://github.com/webpack-contrib/postcss-loader/releases)
- [Changelog](https://github.com/webpack-contrib/postcss-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/postcss-loader/compare/v7.3.4...v8.0.0)

---
updated-dependencies:
- dependency-name: postcss-loader
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-17 09:24:27 +00:00
pyup.io bot
350e74322d
Update tox to 4.12.1 (#4796) 2024-01-17 09:22:44 +00:00
Matthew Foster Walsh
bc06b0da59
Add a test to cover DJANGO_ADMIN_FORCE_ALLAUTH (#4790)
* Add a test to cover `DJANGO_ADMIN_FORCE_ALLAUTH`

* Remove unused fixtures

* Test redirect url
2024-01-17 09:18:54 +00:00
pyup.io bot
5665b617fc
Update uvicorn to 0.26.0 (#4794) 2024-01-17 09:13:26 +00:00
github-actions
813d260cca Release 2024.01.16 2024-01-17 02:16:53 +00:00
dependabot[bot]
d939a0cfd4
Bump sass-loader from to 14.0.0 (#4791)
Bumps [sass-loader](https://github.com/webpack-contrib/sass-loader) from 13.3.3 to 14.0.0.
- [Release notes](https://github.com/webpack-contrib/sass-loader/releases)
- [Changelog](https://github.com/webpack-contrib/sass-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/webpack-contrib/sass-loader/compare/v13.3.3...v14.0.0)

---
updated-dependencies:
- dependency-name: sass-loader
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-16 09:18:08 +00:00
github-actions
447a6a7f93 Release 2024.01.15 2024-01-16 02:16:37 +00:00
pyup.io bot
385f83f851
Update gitpython to 3.1.41 (#4788) 2024-01-15 22:49:49 +00:00
pyup.io bot
d436c0b52c
Update django-allauth to 0.60.1 (#4787) 2024-01-15 22:21:42 +00:00
browniebroke
f07aa6010b Update Contributors 2024-01-15 09:51:56 +00:00
Nix Siow
a035a11874
Update allauth documentation links (#4786) 2024-01-15 09:51:21 +00:00
pyup.io bot
19bfd54665
Update tox to 4.12.0 (#4785) 2024-01-12 09:26:15 +00:00
github-actions
a3ba685b85 Release 2024.01.11 2024-01-12 02:16:47 +00:00
pyup.io bot
5343caa1d0
Update jinja2 to 3.1.3 (#4784) 2024-01-11 14:01:07 +00:00
github-actions
95c6b24754 Release 2024.01.10 2024-01-11 02:16:44 +00:00
pyup.io bot
75657310f0
Update sentry-sdk to 1.39.2 (#4782) 2024-01-10 13:45:25 +00:00
github-actions
73958a391d Release 2024.01.09 2024-01-10 02:16:46 +00:00
browniebroke
eb58c83bf7 Update Contributors 2024-01-09 18:56:47 +00:00
Michael V. Battista
4bb612f83e
Update allauth settings documentation links (#4769)
* 💡 Update allauth settings documentation links

* Apply suggestions from code review

---------

Co-authored-by: Bruno Alla <browniebroke@users.noreply.github.com>
2024-01-09 18:56:10 +00:00
pyup.io bot
e086be1317
Update django-allauth to 0.60.0 (#4776) 2024-01-09 18:34:16 +00:00
pyup.io bot
f86de20956
Update psycopg to 3.1.17 (#4777)
* Update psycopg from 3.1.16 to 3.1.17

* Update psycopg from 3.1.16 to 3.1.17

* Update psycopg from 3.1.16 to 3.1.17
2024-01-09 18:33:52 +00:00
Bruno Alla
1e596589c5
Update dependabot config 2024-01-09 18:33:20 +00:00
dependabot[bot]
6194b1cc78
Bump tiangolo/issue-manager from 0.4.0 to 0.4.1 (#4780)
Bumps [tiangolo/issue-manager](https://github.com/tiangolo/issue-manager) from 0.4.0 to 0.4.1.
- [Release notes](https://github.com/tiangolo/issue-manager/releases)
- [Commits](https://github.com/tiangolo/issue-manager/compare/0.4.0...0.4.1)

---
updated-dependencies:
- dependency-name: tiangolo/issue-manager
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-09 18:31:45 +00:00
github-actions
1cd0fcb35f Release 2024.01.05 2024-01-06 02:14:07 +00:00
github-actions[bot]
ec96bf9144
Auto-update pre-commit hooks (#4774)
Co-authored-by: browniebroke <browniebroke@users.noreply.github.com>
2024-01-05 14:39:16 -03:00
pyup.io bot
21f0b38283
Update flake8 to 7.0.0 (#4775)
* Update flake8 from 6.1.0 to 7.0.0

* Update flake8 from 6.1.0 to 7.0.0
2024-01-05 14:38:53 -03:00
github-actions
95e508b553 Release 2024.01.02 2024-01-03 02:14:05 +00:00
pyup.io bot
45805ef1da
Update psycopg to 3.1.16 (#4753)
* Update psycopg from 3.1.15 to 3.1.16

* Update psycopg from 3.1.15 to 3.1.16

* Update psycopg from 3.1.15 to 3.1.16
2024-01-02 14:29:15 +00:00
pyup.io bot
0e4e0f7f9d
Update djlint to 1.34.1 (#4773)
* Update djlint from 1.34.0 to 1.34.1

* Update djlint from 1.34.0 to 1.34.1
2024-01-02 14:28:34 +00:00
pyup.io bot
5d997da97e
Update uvicorn to 0.25.0 (#4760) 2024-01-02 12:23:32 +00:00
github-actions[bot]
3183062d33
Auto-update pre-commit hooks (#4749)
Co-authored-by: browniebroke <browniebroke@users.noreply.github.com>
2024-01-02 11:49:06 +00:00
pyup.io bot
8bedaf2d2b
Update black to 23.12.1 (#4772)
* Update black from 23.12.0 to 23.12.1

* Update black from 23.12.0 to 23.12.1
2024-01-02 11:40:48 +00:00
pyup.io bot
69be15bfe4
Update pillow to 10.2.0 (#4770) 2024-01-02 11:40:32 +00:00
pyup.io bot
09483a6b7b
Update django to 4.2.9 (#4771) 2024-01-02 11:40:14 +00:00
pyup.io bot
deb74408fe
Update pytest to 7.4.4 (#4767)
* Update pytest from 7.4.3 to 7.4.4

* Update pytest from 7.4.3 to 7.4.4
2024-01-02 10:06:41 +00:00
pyup.io bot
be34193d13
Update coverage to 7.4.0 (#4764) 2024-01-02 10:05:00 +00:00
github-actions
cd3fb867cf Release 2023.12.19 2023-12-20 02:05:28 +00:00
browniebroke
9cffb083d2 Update Contributors 2023-12-19 10:43:53 +00:00
aiden
0618d35733
Upgrade debian to 12 bookworm (#4745)
Co-authored-by: aidenlu <aiden_lu@wochacha.com>
2023-12-19 10:43:16 +00:00
pyup.io bot
8dffc17dc7
Update hiredis to 2.3.2 (#4750)
* Update hiredis from 2.2.3 to 2.3.2

* Update hiredis from 2.2.3 to 2.3.2
2023-12-19 10:42:27 +00:00
github-actions
7f0749a4a4 Release 2023.12.15 2023-12-16 02:13:57 +00:00
pyup.io bot
3d643c3af6
Update coverage to 7.3.3 (#4748) 2023-12-15 09:57:39 +00:00
pyup.io bot
3ca5919e3b
Update psycopg to 3.1.15 (#4747)
* Update psycopg from 3.1.14 to 3.1.15

* Update psycopg from 3.1.14 to 3.1.15

* Update psycopg from 3.1.14 to 3.1.15
2023-12-15 09:57:08 +00:00
pyup.io bot
50c4f06011
Update sentry-sdk to 1.39.1 (#4746) 2023-12-15 09:56:50 +00:00
github-actions[bot]
862622d0dd
Auto-update pre-commit hooks (#4743)
Co-authored-by: browniebroke <browniebroke@users.noreply.github.com>
2023-12-15 09:56:36 +00:00
pyup.io bot
ee772f5142
Update isort to 5.13.2 (#4742) 2023-12-15 09:56:08 +00:00
github-actions
08290a1649 Release 2023.12.13 2023-12-14 02:15:08 +00:00
github-actions[bot]
981bcd7322
Auto-update pre-commit hooks (#4740)
Co-authored-by: browniebroke <browniebroke@users.noreply.github.com>
2023-12-13 09:44:16 +00:00
github-actions
ce70d30b22 Release 2023.12.12 2023-12-13 02:16:24 +00:00
pyup.io bot
4d592bdaaa
Update django-allauth from 0.58.2 to 0.59.0 (#4739) 2023-12-12 21:00:54 +00:00
pyup.io bot
13fc9f9578
Update sentry-sdk to 1.39.0 (#4738) 2023-12-12 18:52:44 +00:00
pyup.io bot
27b00d2bf4
Update black to 23.12.0 (#4737)
* Update black from 23.11.0 to 23.12.0

* Update black from 23.11.0 to 23.12.0
2023-12-12 09:06:05 +00:00
github-actions[bot]
0c3e3b8f01
Auto-update pre-commit hooks (#4736)
Co-authored-by: browniebroke <browniebroke@users.noreply.github.com>
2023-12-12 09:04:56 +00:00
pyup.io bot
5aff1361c4
Update drf-spectacular to 0.27.0 (#4735) 2023-12-12 09:04:30 +00:00
github-actions
966e5707c5 Release 2023.12.11 2023-12-12 02:16:37 +00:00
pre-commit-ci[bot]
1fdb671296
[pre-commit.ci] pre-commit autoupdate (#4714)
updates:
- [github.com/PyCQA/isort: 5.13.0 → 5.13.1](https://github.com/PyCQA/isort/compare/5.13.0...5.13.1)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2023-12-11 21:16:50 +00:00
pyup.io bot
3a35f994a8
Update isort from 5.13.0 to 5.13.1 (#4734) 2023-12-11 21:16:07 +00:00
github-actions[bot]
47fb5d9b9e
Auto-update pre-commit hooks (#4730)
Co-authored-by: browniebroke <browniebroke@users.noreply.github.com>
2023-12-11 09:16:18 +00:00
github-actions
285607a421 Release 2023.12.10 2023-12-11 02:16:38 +00:00
pyup.io bot
307338b22f
Update isort from 5.12.0 to 5.13.0 (#4727) 2023-12-10 12:08:30 +00:00
pyup.io bot
aec2d48457
Update pre-commit to 3.6.0 (#4728)
* Update pre-commit from 3.5.0 to 3.6.0

* Update pre-commit from 3.5.0 to 3.6.0
2023-12-10 12:08:06 +00:00
github-actions[bot]
468426f7ee
Auto-update pre-commit hooks (#4729)
Co-authored-by: browniebroke <browniebroke@users.noreply.github.com>
2023-12-10 12:07:55 +00:00
github-actions
d7e14c2e07 Release 2023.12.09 2023-12-10 02:16:53 +00:00
luzfcb
9f259210ed Update Contributors 2023-12-09 13:36:48 +00:00
Freddy
2f72838d98
Add missing __init__.py file to api module (#4726) 2023-12-09 10:36:16 -03:00
github-actions
4c7220c892 Release 2023.12.07 2023-12-08 02:16:30 +00:00
Bruno Alla
52d25ad019
Fix bug in create_django_issue
Parsing doesn't work for classifiers that only
include the Django major version, e.g.:
``'Framework :: Django :: 3'`

We need a '.' in the 4th part of the classifier
to be able to parse it:
``'Framework :: Django :: 3.2'`
2023-12-07 12:29:02 +00:00
dependabot[bot]
7d5a14d9f6
Bump actions/setup-python from 4 to 5 (#4723)
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4 to 5.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-07 09:20:42 +00:00
github-actions[bot]
6111308226
Auto-update pre-commit hooks (#4709)
Co-authored-by: browniebroke <browniebroke@users.noreply.github.com>
2023-12-07 09:19:42 +00:00
dependabot[bot]
31451da89d
Bump traefik from 2.10.6 to 2.10.7 (#4722)
Bumps traefik from 2.10.6 to 2.10.7.

---
updated-dependencies:
- dependency-name: traefik
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-07 09:18:53 +00:00
github-actions
681950083c Release 2023.12.06 2023-12-07 02:16:11 +00:00
dependabot[bot]
d9a7d70899
Bump python from 3.11.6 to 3.11.7 (#4719)
* Bump python in /{{cookiecutter.project_slug}}/compose/production/django

Bumps python from 3.11.6-slim-bullseye to 3.11.7-slim-bullseye.

---
updated-dependencies:
- dependency-name: python
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump python in /{{cookiecutter.project_slug}}/compose/local/django

Bumps python from 3.11.6-slim-bullseye to 3.11.7-slim-bullseye.

---
updated-dependencies:
- dependency-name: python
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* Bump python in /{{cookiecutter.project_slug}}/compose/local/docs

Bumps python from 3.11.6-slim-bullseye to 3.11.7-slim-bullseye.

---
updated-dependencies:
- dependency-name: python
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* Update Heroku runtime to 3.11.7

* Pin pre-commit Python version to 3.11

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Bruno Alla <alla.brunoo@gmail.com>
2023-12-06 09:40:04 +00:00
pyup.io bot
f2709adbc9
Update mypy to 1.7.1 (#4694)
* Update mypy from 1.6.1 to 1.7.1

* Update djangorestframework-stubs from 3.14.4 to 3.14.5

* Update django-stubs from 4.2.6 to 4.2.7

---------

Co-authored-by: Bruno Alla <alla.brunoo@gmail.com>
2023-12-06 09:36:37 +00:00
github-actions
cc330ae31a Release 2023.12.04 2023-12-05 02:16:35 +00:00
pyup.io bot
94a78feae5
Update django to 4.2.8 (#4713) 2023-12-04 10:15:26 +00:00
dependabot[bot]
957bc66d11
Bump node from 18 to 20 (#4283) 2023-12-04 09:58:02 +00:00
pyup.io bot
d6e0637230
Update psycopg to 3.1.14 (#4711)
* Update psycopg from 3.1.13 to 3.1.14

* Update psycopg from 3.1.13 to 3.1.14

* Update psycopg from 3.1.13 to 3.1.14
2023-12-04 09:57:04 +00:00
github-actions
96aa728c6c Release 2023.12.02 2023-12-03 02:16:20 +00:00
browniebroke
05460575a7 Update Contributors 2023-12-02 12:25:34 +00:00
GitBib
fd3643564e
Update mailpit to latest (#4710)
* Update mailpit to 1.10

* Update local.yml
2023-12-02 12:24:57 +00:00
github-actions
5916bf529e Release 2023.11.30 2023-12-01 02:18:15 +00:00
browniebroke
e86e332dac Update Contributors 2023-11-30 14:09:37 +00:00
Plurific
3f6c51fc6c
Removed tmp mount in devcontainer.json (#4708)
Co-authored-by: Paul <aetherqi@gmail.com>
2023-11-30 14:09:01 +00:00
dependabot[bot]
9c016b7528
Bump traefik from 2.10.5 to 2.10.6 (#4706)
Bumps traefik from 2.10.5 to 2.10.6.

---
updated-dependencies:
- dependency-name: traefik
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-30 11:04:56 +00:00
github-actions
2fb9824b7f Release 2023.11.29 2023-11-30 02:15:26 +00:00
Bruno Alla
527b13d954
Add delay to issue manager 2023-11-29 16:10:28 +00:00
pre-commit-ci[bot]
0095154bc2
pre-commit autoupdate (#4640)
updates:
- [github.com/pre-commit/mirrors-prettier: v3.0.3 → v3.1.0](https://github.com/pre-commit/mirrors-prettier/compare/v3.0.3...v3.1.0)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2023-11-29 16:03:13 +00:00
pyup.io bot
bf2d3f1b65
Update sentry-sdk to 1.38.0 (#4705) 2023-11-29 16:02:28 +00:00
github-actions
b2a407bee3 Release 2023.11.28 2023-11-29 02:15:25 +00:00
mpsantos
f7a79d6c5f
Excludes devcontainer.json from the pre-commit (#4702)
* Corrected 'or' translation to pt-br

* Excludes devcontainer.json from the pre-commit
2023-11-28 13:09:31 +00:00
pyup.io bot
cff43eb658
Update tox to 4.11.4 (#4701) 2023-11-28 11:23:38 +00:00
pyup.io bot
55597c9a50
Update sphinx-rtd-theme to 2.0.0 (#4700) 2023-11-28 11:21:55 +00:00
github-actions
98ce01e592 Release 2023.11.24 2023-11-25 02:11:59 +00:00
pyup.io bot
ca446157ce
Update sentry-sdk from 1.37.0 to 1.37.1 (#4696) 2023-11-24 13:11:36 -03:00
pyup.io bot
884e11278d
Update sentry-sdk from 1.36.0 to 1.37.0 (#4695) 2023-11-24 15:40:48 +01:00
github-actions
72d2cbf69e Release 2023.11.22 2023-11-23 02:14:53 +00:00
pyup.io bot
3fd21562c4
Update celery from 5.3.5 to 5.3.6 (#4693) 2023-11-22 21:44:27 +01:00
github-actions
305c11023f Release 2023.11.21 2023-11-22 02:16:54 +00:00
pyup.io bot
486cf3ec50
Update cookiecutter from 2.4.0 to 2.5.0 (#4689) 2023-11-21 22:01:40 +01:00
pyup.io bot
78fdf9d8fc
Update pytest-xdist from 3.4.0 to 3.5.0 (#4688) 2023-11-21 22:00:57 +01:00
pyup.io bot
b7b21d8a78
Update sentry-sdk to 1.36.0 (#4687) 2023-11-21 13:58:15 +00:00
github-actions
09848e2e87 Release 2023.11.20 2023-11-21 02:17:13 +00:00
browniebroke
a405d2bbcf Update Contributors 2023-11-20 12:45:57 +00:00
Christian Jauvin
6dea941258
Fix bug with social account adapter name override, in very specific conditions (#4650)
* Fix bug with social account adapter in specific condition

* Slight refactoring of fix
2023-11-20 12:45:20 +00:00
pyup.io bot
befc571342
Update django-cors-headers to 4.3.1 (#4684) 2023-11-20 12:28:03 +00:00
pyup.io bot
a67956c6e0
Update pytest-xdist to 3.4.0 (#4680) 2023-11-20 12:27:07 +00:00
pyup.io bot
552153065b
Update psycopg to 3.1.13 (#4685)
* Update psycopg from 3.1.12 to 3.1.13

* Update psycopg from 3.1.12 to 3.1.13

* Update psycopg from 3.1.12 to 3.1.13
2023-11-20 12:26:15 +00:00
github-actions
be37a588b8 Release 2023.11.14 2023-11-15 02:15:01 +00:00
pyup.io bot
a0fe329c4e
Update sentry-sdk from 1.34.0 to 1.35.0 (#4681) 2023-11-14 07:48:49 +00:00
github-actions[bot]
4d6292a5d3
Auto-update pre-commit hooks (#4683)
Co-authored-by: browniebroke <browniebroke@users.noreply.github.com>
2023-11-14 07:48:18 +00:00
github-actions
f1ddba1067 Release 2023.11.11 2023-11-12 02:15:13 +00:00
pyup.io bot
e7a490c91e
Update celery from 5.3.4 to 5.3.5 (#4678) 2023-11-11 13:33:32 +00:00
github-actions
056aa0ae77 Release 2023.11.09 2023-11-10 02:12:29 +00:00
github-actions[bot]
b22de7e758
Auto-update pre-commit hooks (#4673)
Co-authored-by: browniebroke <browniebroke@users.noreply.github.com>
2023-11-09 08:55:24 +00:00
pyup.io bot
b6406fa696
Update black to 23.11.0 (#4674)
* Update black from 23.10.1 to 23.11.0

* Update black from 23.10.1 to 23.11.0
2023-11-09 08:55:09 +00:00
github-actions
30dbcaee4d Release 2023.11.08 2023-11-09 02:12:53 +00:00
Jelmer
5e480063dd
Merge pull request #4672 from cookiecutter/pyup-update-pytest-django-4.6.0-to-4.7.0
Update pytest-django to 4.7.0
2023-11-08 14:38:05 +01:00
pyup-bot
cd29ef58c6 Update pytest-django from 4.6.0 to 4.7.0 2023-11-08 13:31:26 +00:00
github-actions
19ae65704f Release 2023.11.06 2023-11-07 02:13:00 +00:00
Jakub Boukal
a849a6968f
Add rmbackup script to remove backups from postgres/backups. Fixes: #4663 (#4664) 2023-11-06 19:45:58 +00:00
pyup.io bot
562887ba13
Update django-allauth to 0.58.2 (#4667) 2023-11-06 09:34:55 +00:00
pyup.io bot
d776f793ca
Update uvicorn to 0.24.0.post1 (#4666) 2023-11-06 09:32:02 +00:00
github-actions
918bcca777 Release 2023.11.04 2023-11-05 02:14:12 +00:00
pyup.io bot
bee6c43423
Update uvicorn from 0.23.2 to 0.24.0 (#4665) 2023-11-04 23:52:14 +00:00
github-actions
14dc09ba68 Release 2023.11.03 2023-11-04 02:11:10 +00:00
pyup.io bot
d71af4300b
Update flake8-isort to 6.1.1 (#4662) 2023-11-03 13:28:18 +00:00
github-actions
484f6e52ff Release 2023.11.02 2023-11-03 02:12:11 +00:00
pyup.io bot
ab2c0cb78d
Update sentry-sdk to 1.34.0 (#4660) 2023-11-02 19:46:29 +00:00
github-actions
f8bc35934b Release 2023.11.01 2023-11-02 02:11:23 +00:00
pyup.io bot
abe7b4d061
Update django from 4.2.6 to 4.2.7 (#4658) 2023-11-01 10:16:34 +00:00
pyup.io bot
caff39ca60
Update django-stubs to 4.2.6 (#4657) 2023-11-01 08:51:49 +00:00
github-actions
0a3a0cb476 Release 2023.10.31 2023-11-01 02:14:01 +00:00
pyup.io bot
6f357596ee
Update pytest-django to 4.6.0 (#4656) 2023-10-31 18:32:14 +00:00
pyup.io bot
7b5a2162ff
Update pytest to 7.4.3 (#4654)
* Update pytest from 7.4.2 to 7.4.3

* Update pytest from 7.4.2 to 7.4.3
2023-10-31 18:31:56 +00:00
pyup.io bot
6457b72156
Update werkzeug to 3.0.1 (#4655) 2023-10-31 18:31:38 +00:00
pyup.io bot
bdad6bd9ba
Update sentry-sdk to 1.33.1 (#4653) 2023-10-31 18:22:04 +00:00
Jelmer
030a1866d0
Merge pull request #4652 from cookiecutter/pyup-update-sentry-sdk-1.32.0-to-1.33.0
Update sentry-sdk to 1.33.0
2023-10-31 14:28:17 +01:00
Jelmer
31ef7b96a0
Merge pull request #4651 from cookiecutter/pyup-update-crispy-bootstrap5-0.7-to-2023.10
Update crispy-bootstrap5 to 2023.10
2023-10-31 14:25:56 +01:00
pyup-bot
6408d55c27 Update sentry-sdk from 1.32.0 to 1.33.0 2023-10-31 13:22:58 +00:00
pyup-bot
2794be3b70 Update crispy-bootstrap5 from 0.7 to 2023.10 2023-10-31 06:51:19 +00:00
github-actions
d5591682e4 Release 2023.10.26 2023-10-27 02:10:31 +00:00
pyup.io bot
ad48e8898a
Update django-anymail to 10.2 (#4645)
* Update django-anymail from 10.1 to 10.2

* Update django-anymail from 10.1 to 10.2

* Update django-anymail from 10.1 to 10.2

* Update django-anymail from 10.1 to 10.2

* Update django-anymail from 10.1 to 10.2

* Update django-anymail from 10.1 to 10.2

* Update django-anymail from 10.1 to 10.2

* Update django-anymail from 10.1 to 10.2

* Update django-anymail from 10.1 to 10.2
2023-10-26 10:55:22 +01:00
github-actions
52eaf46f49 Release 2023.10.24 2023-10-25 02:11:09 +00:00
pyup.io bot
1f0b6298c3
Update black to 23.10.1 (#4639)
* Update black from 23.10.0 to 23.10.1

* Update black from 23.10.0 to 23.10.1
2023-10-24 10:45:07 +01:00
github-actions[bot]
88bcd2eb5a
Auto-update pre-commit hooks (#4641)
Co-authored-by: browniebroke <browniebroke@users.noreply.github.com>
2023-10-24 10:44:51 +01:00
dependabot[bot]
eb0de87de4
Bump actions/setup-node from 3 to 4 (#4643)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 3 to 4.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-24 10:43:57 +01:00
github-actions
aa7ffeaeef Release 2023.10.23 2023-10-24 02:11:28 +00:00
pyup.io bot
1081cbd68b
Update pylint-django to 2.5.5 (#4638) 2023-10-23 17:56:10 +01:00
github-actions
cd7a477ec7 Release 2023.10.19 2023-10-20 02:11:15 +00:00
pyup.io bot
6c1cdbde40
Update gitpython to 3.1.40 (#4635) 2023-10-19 17:51:09 +01:00
Bruno Alla
90dbf82f8e
Merge pull request #4634 from cookiecutter/pyup-update-mypy-1.5.1-to-1.6.1
Update mypy to 1.6.1
2023-10-19 17:48:32 +01:00
Bruno Alla
b5e8525875
Merge remote-tracking branch 'upstream/pyup-update-djangorestframework-stubs-3.14.3-to-3.14.4' into pyup-update-mypy-1.5.1-to-1.6.1 2023-10-19 17:37:03 +01:00
Bruno Alla
b06e29d496
Merge remote-tracking branch 'upstream/pyup-update-django-stubs-4.2.4-to-4.2.5' into pyup-update-mypy-1.5.1-to-1.6.1
# Conflicts:
#	{{cookiecutter.project_slug}}/requirements/local.txt
2023-10-19 17:36:56 +01:00
pyup-bot
e70a354756 Update djangorestframework-stubs from 3.14.3 to 3.14.4 2023-10-18 19:56:35 +01:00
pyup-bot
815cea9c98 Update django-stubs from 4.2.4 to 4.2.5 2023-10-18 17:59:25 +01:00
pyup-bot
a009146e8e Update mypy from 1.5.1 to 1.6.1 2023-10-18 08:43:05 +01:00
github-actions
c3e1d481de Release 2023.10.17 2023-10-18 02:11:43 +00:00
github-actions[bot]
597afd454e
Auto-update pre-commit hooks (#4633)
Co-authored-by: browniebroke <browniebroke@users.noreply.github.com>
2023-10-17 22:31:10 +01:00
pyup.io bot
0ea9fb773e
Update black to 23.10.0 (#4632)
* Update black from 23.9.1 to 23.10.0

* Update black from 23.9.1 to 23.10.0
2023-10-17 22:28:27 +01:00
pyup.io bot
7bf8b42035
Update pillow to 10.1.0 (#4630) 2023-10-17 11:53:24 +01:00
pyup.io bot
c8f6b9ffee
Update django-crispy-forms to 2.1 (#4629) 2023-10-17 11:53:08 +01:00
pyup.io bot
23b49dd6c5
Update gitpython to 3.1.38 (#4631) 2023-10-17 11:52:52 +01:00
github-actions
f822bb3929 Release 2023.10.13 2023-10-14 02:09:17 +00:00
pyup.io bot
054c3965d9
Update pre-commit to 3.5.0 (#4628)
* Update pre-commit from 3.4.0 to 3.5.0

* Update pre-commit from 3.4.0 to 3.5.0
2023-10-13 18:49:58 +01:00
pyup.io bot
870b447c19
Update watchfiles from 0.20.0 to 0.21.0 (#4627) 2023-10-13 18:49:44 +01:00
github-actions
d5c96bda88 Release 2023.10.12 2023-10-13 02:13:08 +00:00
pyup.io bot
54e953e0c2
Update django-cors-headers to 4.3.0 (#4625) 2023-10-12 10:29:01 +01:00
pyup.io bot
9fc4496927
Update whitenoise to 6.6.0 (#4624) 2023-10-12 10:25:36 +01:00
pyup.io bot
de3f5a229f
Update sentry-sdk to 1.32.0 (#4623) 2023-10-12 10:23:33 +01:00
Bruno Alla
83874b8b5b
Merge pull request #4626 from cookiecutter/dependabot/docker/{{cookiecutter.project_slug}}/compose/production/traefik/traefik-2.10.5
Bump traefik from 2.10.4 to 2.10.5 in /{{cookiecutter.project_slug}}/compose/production/traefik
2023-10-12 10:21:59 +01:00
dependabot[bot]
6ba4df4f62
Bump traefik
Bumps traefik from 2.10.4 to 2.10.5.

---
updated-dependencies:
- dependency-name: traefik
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-12 05:53:31 +00:00
github-actions
86ff624de4 Release 2023.10.09 2023-10-10 02:11:08 +00:00
Bruno Alla
dc40948049
Merge pull request #4621 from cookiecutter/dependabot/github_actions/stefanzweifel/git-auto-commit-action-5.0.0
Bump stefanzweifel/git-auto-commit-action from 4.16.0 to 5.0.0
2023-10-09 11:49:43 +01:00
Bruno Alla
ef3845d93f
Merge pull request #4620 from cookiecutter/pyup-update-django-storages-1.14.1-to-1.14.2
Update django-storages to 1.14.2
2023-10-09 11:47:33 +01:00
dependabot[bot]
266c4e4790
Bump stefanzweifel/git-auto-commit-action from 4.16.0 to 5.0.0
Bumps [stefanzweifel/git-auto-commit-action](https://github.com/stefanzweifel/git-auto-commit-action) from 4.16.0 to 5.0.0.
- [Release notes](https://github.com/stefanzweifel/git-auto-commit-action/releases)
- [Changelog](https://github.com/stefanzweifel/git-auto-commit-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stefanzweifel/git-auto-commit-action/compare/v4.16.0...v5.0.0)

---
updated-dependencies:
- dependency-name: stefanzweifel/git-auto-commit-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-09 05:21:55 +00:00
pyup-bot
01abe46dc8 Update django-storages from 1.14.1 to 1.14.2 2023-10-09 04:31:50 +01:00
pyup-bot
8d9118ec22 Update django-storages from 1.14.1 to 1.14.2 2023-10-09 04:31:50 +01:00
pyup-bot
f985bc115d Update django-storages from 1.14.1 to 1.14.2 2023-10-09 04:31:49 +01:00
github-actions
68d989e5bd Release 2023.10.08 2023-10-09 02:11:14 +00:00
Bruno Alla
17e158e6c8
Merge pull request #4619 from cookiecutter/update/pre-commit-autoupdate
Auto-update pre-commit hooks
2023-10-08 11:49:55 +01:00
browniebroke
f2c681c36a Auto-update pre-commit hooks 2023-10-08 02:24:07 +00:00
github-actions
ecc3f48b59 Release 2023.10.05 2023-10-06 02:11:17 +00:00
Bruno Alla
4d00ba2315
Merge pull request #4568 from cookiecutter/pyup-update-mypy-1.4.1-to-1.5.1
Update mypy to 1.5.1
2023-10-05 09:19:03 +01:00
Bruno Alla
19a608d8ec
Merge remote-tracking branch 'upstream/pyup-update-djangorestframework-stubs-3.14.2-to-3.14.3' into pyup-update-mypy-1.4.1-to-1.5.1 2023-10-05 09:11:48 +01:00
Bruno Alla
5a17637de5
Merge branch 'master' into pyup-update-mypy-1.4.1-to-1.5.1
# Conflicts:
#	{{cookiecutter.project_slug}}/requirements/local.txt
2023-10-05 09:11:32 +01:00
github-actions
eafa5c9cbf Release 2023.10.04 2023-10-05 02:13:01 +00:00
pyup-bot
1c90a11f1e Update djangorestframework-stubs from 3.14.2 to 3.14.3 2023-10-04 23:50:21 +01:00
pyup.io bot
f202e849b8
Update django from 4.2.5 to 4.2.6 (#4617) 2023-10-04 22:24:31 +01:00
pyup.io bot
4750f2fa5e
Update coverage to 7.3.2 (#4616) 2023-10-04 09:40:42 +01:00
pyup.io bot
fb2dc39f57
Update werkzeug to 3.0.0 (#4608) 2023-10-04 09:29:47 +01:00
pyup.io bot
589e2f85aa
Update django-redis to 5.4.0 (#4609) 2023-10-04 09:29:25 +01:00
dependabot[bot]
e749afdeda
Bump python from 3.11.5-slim-bullseye to 3.11.6-slim-bullseye in /{{cookiecutter.project_slug}}/compose/local/docs (#4615)
Bumps python from 3.11.5-slim-bullseye to 3.11.6-slim-bullseye.

---
updated-dependencies:
- dependency-name: python
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-04 09:28:20 +01:00
github-actions
183c66e117 Release 2023.10.03 2023-10-04 02:11:46 +00:00
Bruno Alla
857098c778
Add contributors to README 2023-10-03 14:31:01 +01:00
Bruno Alla
0133a2b483
Update Heroku Python runtime from 3.11.5 to 3.11.6 2023-10-03 14:26:11 +01:00
dependabot[bot]
c0576b6658
Bump python in /{{cookiecutter.project_slug}}/compose/local/django (#4612)
Bumps python from 3.11.5-slim-bullseye to 3.11.6-slim-bullseye.

---
updated-dependencies:
- dependency-name: python
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Fábio C. Barrionuevo da Luz <bnafta@gmail.com>
2023-10-03 09:30:03 -03:00
github-actions[bot]
acc5bd6ca7
Auto-update pre-commit hooks (#4610)
Co-authored-by: browniebroke <browniebroke@users.noreply.github.com>
2023-10-03 09:25:15 -03:00
dependabot[bot]
389f020ee4
Bump python in /{{cookiecutter.project_slug}}/compose/production/django (#4611)
Bumps python from 3.11.5-slim-bullseye to 3.11.6-slim-bullseye.

---
updated-dependencies:
- dependency-name: python
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-03 09:24:53 -03:00
pre-commit-ci[bot]
09dbb49a7d
[pre-commit.ci] pre-commit autoupdate (#4613)
updates:
- [github.com/asottile/pyupgrade: v3.13.0 → v3.14.0](https://github.com/asottile/pyupgrade/compare/v3.13.0...v3.14.0)

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2023-10-03 09:23:02 -03:00
pyup.io bot
bedd6f7e0b
Update pygithub to 2.1.1 (#4607) 2023-09-30 11:26:51 +01:00
Bruno Alla
87085a068e
Fix issue with empty release in update_changelog script 2023-09-30 11:20:49 +01:00
Bruno Alla
0125d8fe43
Merge remote-tracking branch 'upstream/pyup-update-django-stubs-4.2.3-to-4.2.4' into pyup-update-mypy-1.4.1-to-1.5.1
# Conflicts:
#	{{cookiecutter.project_slug}}/requirements/local.txt
2023-09-06 20:30:59 +01:00
pyup-bot
cb0d5685e8 Update mypy from 1.4.1 to 1.5.1 2023-09-06 20:30:00 +01:00
pyup-bot
dbcda27334 Update django-stubs from 4.2.3 to 4.2.4 2023-09-05 04:52:41 -04:00
196 changed files with 7133 additions and 2163 deletions

View File

@ -12,7 +12,7 @@ trim_trailing_whitespace = true
indent_style = space
indent_size = 4
[*.{html,css,scss,json,yml,xml}]
[*.{html,css,scss,json,yml,xml,toml}]
indent_style = space
indent_size = 2

2
.github/FUNDING.yml vendored
View File

@ -1,5 +1,5 @@
# These are supported funding model platforms
github: [pydanny, browniebroke]
github: [pydanny, browniebroke, luzfcb]
patreon: feldroy
open_collective: cookiecutter-django

View File

@ -1115,7 +1115,7 @@
"twitter_username": "Qoyyuum"
},
{
"name": "mfosterw",
"name": "Matthew Foster Walsh",
"github_login": "mfosterw",
"twitter_username": ""
},
@ -1473,5 +1473,245 @@
"name": "Jakub Boukal",
"github_login": "SukiCZ",
"twitter_username": ""
},
{
"name": "Christian Jauvin",
"github_login": "cjauvin",
"twitter_username": ""
},
{
"name": "Plurific",
"github_login": "paulschwenn",
"twitter_username": ""
},
{
"name": "GitBib",
"github_login": "GitBib",
"twitter_username": ""
},
{
"name": "Freddy",
"github_login": "Hraesvelg",
"twitter_username": ""
},
{
"name": "aiden",
"github_login": "anyidea",
"twitter_username": ""
},
{
"name": "Michael V. Battista",
"github_login": "mvbattista",
"twitter_username": "mvbattista"
},
{
"name": "Nix Siow",
"github_login": "nixsiow",
"twitter_username": "nixsiow"
},
{
"name": "Jens Kaeske",
"github_login": "jkaeske",
"twitter_username": ""
},
{
"name": "henningbra",
"github_login": "henningbra",
"twitter_username": ""
},
{
"name": "Paul Wulff",
"github_login": "mtmpaulwulff",
"twitter_username": ""
},
{
"name": "Mounir",
"github_login": "mounirmesselmeni",
"twitter_username": ""
},
{
"name": "JAEGYUN JUNG",
"github_login": "TGoddessana",
"twitter_username": ""
},
{
"name": "Simeon Emanuilov",
"github_login": "s-emanuilov",
"twitter_username": "s_emanuilov"
},
{
"name": "Patrick Zhang",
"github_login": "PatDuJour",
"twitter_username": ""
},
{
"name": "GvS",
"github_login": "GvS666",
"twitter_username": ""
},
{
"name": "David Păcioianu",
"github_login": "DavidPacioianu",
"twitter_username": ""
},
{
"name": "farwill",
"github_login": "farwill",
"twitter_username": ""
},
{
"name": "quroom",
"github_login": "quroom",
"twitter_username": ""
},
{
"name": "Marios Frixou",
"github_login": "frixou89",
"twitter_username": ""
},
{
"name": "Geo Maciolek",
"github_login": "GeoMaciolek",
"twitter_username": ""
},
{
"name": "Nadav Peretz",
"github_login": "nadavperetz",
"twitter_username": ""
},
{
"name": "Param Kapur",
"github_login": "paramkpr",
"twitter_username": "ParamKapur"
},
{
"name": "Jason Mok",
"github_login": "jasonmokk",
"twitter_username": ""
},
{
"name": "Manas Mallick",
"github_login": "ManDun",
"twitter_username": ""
},
{
"name": "Alexandr Artemyev",
"github_login": "Mogost",
"twitter_username": "MOGOST"
},
{
"name": "Ali Shamakhi",
"github_login": "ali-shamakhi",
"twitter_username": ""
},
{
"name": "Filipe Nascimento",
"github_login": "FilipeNas",
"twitter_username": ""
},
{
"name": "Kevin Mills",
"github_login": "millsks",
"twitter_username": ""
},
{
"name": "milvagox",
"github_login": "milvagox",
"twitter_username": "milvagox"
},
{
"name": "Johnny Metz",
"github_login": "johnnymetz",
"twitter_username": ""
},
{
"name": "Will",
"github_login": "novucs",
"twitter_username": ""
},
{
"name": "rxm7706",
"github_login": "rxm7706",
"twitter_username": ""
},
{
"name": "Marlon Castillo",
"github_login": "mcastle",
"twitter_username": ""
},
{
"name": "Alex Kanavos",
"github_login": "alexkanavos",
"twitter_username": ""
},
{
"name": "LJFP",
"github_login": "ljfp",
"twitter_username": ""
},
{
"name": "Francisco Navarro Morales ",
"github_login": "spothound",
"twitter_username": ""
},
{
"name": "Mariot Tsitoara",
"github_login": "mariot",
"twitter_username": ""
},
{
"name": "Christian Jensen",
"github_login": "jensenbox",
"twitter_username": "cjensen"
},
{
"name": "Denis Darii",
"github_login": "DNX",
"twitter_username": ""
},
{
"name": "qwerrrqw",
"github_login": "qwerrrqw",
"twitter_username": ""
},
{
"name": "Pulse-Mind",
"github_login": "pulse-mind",
"twitter_username": ""
},
{
"name": "Hana Belay",
"github_login": "earthcomfy",
"twitter_username": ""
},
{
"name": "Ed Morley",
"github_login": "edmorley",
"twitter_username": ""
},
{
"name": "Alan Cyment",
"github_login": "acyment",
"twitter_username": ""
},
{
"name": "Kawsar Alam Foysal",
"github_login": "iamfoysal",
"twitter_username": ""
},
{
"name": "Igor Jerosimić",
"github_login": "igor-wl",
"twitter_username": ""
},
{
"name": "Pepa",
"github_login": "07pepa",
"twitter_username": ""
},
{
"name": "Aidos Kanapyanov",
"github_login": "aidoskanapyanov",
"twitter_username": ""
}
]

View File

@ -1,15 +1,24 @@
# 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
enable-beta-ecosystems: true
updates:
# Update Python deps for the template (not the generated project)
- package-ecosystem: "uv"
directory: "/"
schedule:
interval: "daily"
labels:
- "project infrastructure"
# Update GitHub actions in workflows
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"
labels:
- "update"
- "project infrastructure"
# Update npm packages
- package-ecosystem: "npm"
@ -20,11 +29,11 @@ updates:
- "update"
# Enable version updates for Docker
# We need to specify each Dockerfile in a separate entry because Dependabot doesn't
# support wildcards or recursively checking subdirectories. Check this issue for updates:
# https://github.com/dependabot/dependabot-core/issues/2178
- package-ecosystem: "docker"
directory: "{{cookiecutter.project_slug}}/compose/local/django/"
directories:
- "{{cookiecutter.project_slug}}/compose/local/django/"
- "{{cookiecutter.project_slug}}/compose/local/docs/"
- "{{cookiecutter.project_slug}}/compose/production/django/"
schedule:
interval: "daily"
ignore:
@ -34,54 +43,18 @@ updates:
- "version-update:semver-minor"
labels:
- "update"
groups:
docker-python:
patterns:
- "*"
- package-ecosystem: "docker"
directory: "{{cookiecutter.project_slug}}/compose/local/docs/"
schedule:
interval: "daily"
ignore:
- dependency-name: "*"
update-types:
- "version-update:semver-major"
- "version-update:semver-minor"
labels:
- "update"
- package-ecosystem: "docker"
directory: "{{cookiecutter.project_slug}}/compose/local/node/"
schedule:
interval: "daily"
labels:
- "update"
- package-ecosystem: "docker"
directory: "{{cookiecutter.project_slug}}/compose/production/aws/"
schedule:
interval: "daily"
labels:
- "update"
- package-ecosystem: "docker"
directory: "{{cookiecutter.project_slug}}/compose/production/django/"
schedule:
interval: "daily"
ignore:
- dependency-name: "*"
update-types:
- "version-update:semver-major"
- "version-update:semver-minor"
labels:
- "update"
- package-ecosystem: "docker"
directory: "{{cookiecutter.project_slug}}/compose/production/postgres/"
schedule:
interval: "daily"
labels:
- "update"
- package-ecosystem: "docker"
directory: "{{cookiecutter.project_slug}}/compose/production/traefik/"
directories:
- "{{cookiecutter.project_slug}}/compose/local/node/"
- "{{cookiecutter.project_slug}}/compose/production/aws/"
- "{{cookiecutter.project_slug}}/compose/production/postgres/"
- "{{cookiecutter.project_slug}}/compose/production/nginx/"
- "{{cookiecutter.project_slug}}/compose/production/traefik/"
schedule:
interval: "daily"
labels:

52
.github/workflows/align-versions.yml vendored Normal file
View File

@ -0,0 +1,52 @@
name: align versions
on:
pull_request:
paths:
- "{{cookiecutter.project_slug}}/requirements/local.txt"
- "{{cookiecutter.project_slug}}/compose/local/node/Dockerfile"
# Manual trigger
workflow_dispatch:
permissions:
contents: write
pull-requests: write
jobs:
run:
if: ${{ github.actor == 'pyup-bot' }}
runs-on: ubuntu-latest
env:
GH_PAT: ${{ secrets.GH_PAT }}
strategy:
fail-fast: false
matrix:
job:
- script: scripts/ruff_version.py
name: Ruff
- script: scripts/node_version.py
name: Node
name: "${{ matrix.job.name }} versions"
steps:
- name: Checkout with token
uses: actions/checkout@v4
if: ${{ env.GH_PAT != '' }}
with:
token: ${{ env.GH_PAT }}
ref: ${{ github.head_ref }}
- name: Checkout without token
uses: actions/checkout@v4
if: ${{ env.GH_PAT == '' }}
with:
ref: ${{ github.head_ref }}
- uses: astral-sh/setup-uv@v5
- run: uv run ${{ matrix.job.script }}
- uses: stefanzweifel/git-auto-commit-action@v5
with:
commit_message: Align versions

View File

@ -23,14 +23,12 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v4
with:
python-version: "3.11"
cache: pip
- name: Install uv
uses: astral-sh/setup-uv@v5
- name: Install dependencies
run: pip install -r requirements.txt
run: uv sync
- name: Run tests
run: pytest -n auto tests
run: uv run pytest -n auto tests
docker:
strategy:
@ -54,12 +52,10 @@ jobs:
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v4
with:
python-version: "3.11"
cache: pip
- name: Install uv
uses: astral-sh/setup-uv@v5
- name: Install dependencies
run: pip install -r requirements.txt
run: uv sync
- name: Docker ${{ matrix.script.name }}
run: sh tests/test_docker.sh ${{ matrix.script.args }}
@ -85,31 +81,28 @@ jobs:
ports:
- 6379:6379
postgres:
image: postgres:12
image: postgres:13
ports:
- 5432:5432
env:
POSTGRES_PASSWORD: postgres
env:
CELERY_BROKER_URL: "redis://localhost:6379/0"
REDIS_URL: "redis://localhost:6379/0"
# postgres://user:password@host:port/database
DATABASE_URL: "postgres://postgres:postgres@localhost:5432/postgres"
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v4
- uses: actions/setup-python@v5
with:
python-version: "3.11"
cache: pip
cache-dependency-path: |
requirements.txt
{{cookiecutter.project_slug}}/requirements/base.txt
{{cookiecutter.project_slug}}/requirements/local.txt
python-version: "3.12"
- name: Install uv
uses: astral-sh/setup-uv@v5
- name: Install dependencies
run: pip install -r requirements.txt
- uses: actions/setup-node@v3
run: uv sync
- uses: actions/setup-node@v4
with:
node-version: "18"
node-version: "22.14"
- name: Bare Metal ${{ matrix.script.name }}
run: sh tests/test_bare.sh ${{ matrix.script.args }}

View File

@ -0,0 +1,33 @@
name: uv
on:
pull_request:
paths:
- "pyproject.toml"
permissions:
contents: write
pull-requests: write
jobs:
lock:
if: ${{ github.actor == 'dependabot[bot]' }}
runs-on: ubuntu-latest
env:
GH_PAT: ${{ secrets.GH_PAT }}
steps:
- name: Checkout with token
uses: actions/checkout@v4
if: ${{ env.GH_PAT != '' }}
with:
token: ${{ env.GH_PAT }}
- name: Checkout without token
uses: actions/checkout@v4
if: ${{ env.GH_PAT == '' }}
- uses: astral-sh/setup-uv@v5
- run: uv lock
- uses: stefanzweifel/git-auto-commit-action@v5
with:
commit_message: Regenerate uv.lock

View File

@ -17,14 +17,9 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v4
with:
python-version: "3.11"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Install uv
uses: astral-sh/setup-uv@v5
- name: Create Django Major Issue
run: python scripts/create_django_issue.py
run: uv run --frozen scripts/create_django_issue.py
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View File

@ -23,18 +23,25 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: tiangolo/issue-manager@0.4.0
- uses: tiangolo/issue-manager@0.5.1
with:
token: ${{ secrets.GITHUB_TOKEN }}
config: >
{
"answered": {
"delay": 864000,
"message": "Assuming the question was answered, this will be automatically closed now."
},
"solved": {
"delay": 864000,
"message": "Assuming the original issue was solved, it will be automatically closed now."
},
"waiting": {
"delay": 864000,
"message": "Automatically closing after waiting for additional info. To re-open, please provide the additional information requested."
},
"wontfix": {
"delay": 864000,
"message": "As discussed, we won't be implementing this. Automatically closing."
}
}

View File

@ -22,9 +22,9 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v4
- uses: actions/setup-python@v5
with:
python-version: "3.11"
python-version: "3.12"
- name: Install pre-commit
run: pip install pre-commit
@ -37,7 +37,7 @@ jobs:
run: pre-commit autoupdate
- name: Create Pull Request
uses: peter-evans/create-pull-request@v5
uses: peter-evans/create-pull-request@v7
with:
token: ${{ secrets.GITHUB_TOKEN }}
branch: update/pre-commit-autoupdate

View File

@ -8,27 +8,20 @@ on:
workflow_dispatch:
jobs:
release:
update:
# Disables this workflow from running in a repository that is not part of the indicated organization/user
if: github.repository_owner == 'cookiecutter'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.11"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Install uv
uses: astral-sh/setup-uv@v5
- name: Set git details
run: |
git config --global user.name "github-actions"
git config --global user.email "action@github.com"
- name: Update list
run: python scripts/update_changelog.py
- name: Update changelog
run: uv run --frozen scripts/update_changelog.py
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View File

@ -18,22 +18,15 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.11"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Install uv
uses: astral-sh/setup-uv@v5
- name: Update list
run: python scripts/update_contributors.py
run: uv run --frozen scripts/update_contributors.py
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Commit changes
uses: stefanzweifel/git-auto-commit-action@v4.16.0
uses: stefanzweifel/git-auto-commit-action@v5.0.1
with:
commit_message: Update Contributors
file_pattern: CONTRIBUTORS.md .github/contributors.json

View File

@ -1,9 +1,13 @@
exclude: "{{cookiecutter.project_slug}}|.github/contributors.json|CHANGELOG.md|CONTRIBUTORS.md"
default_stages: [commit]
default_stages: [pre-commit]
minimum_pre_commit_version: "3.2.0"
default_language_version:
python: python3.12
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.4.0
rev: v5.0.0
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
@ -17,33 +21,38 @@ repos:
- id: detect-private-key
- repo: https://github.com/pre-commit/mirrors-prettier
rev: "v3.0.3"
rev: "v4.0.0-alpha.8"
hooks:
- id: prettier
args: ["--tab-width", "2"]
- repo: https://github.com/asottile/pyupgrade
rev: v3.13.0
rev: v3.19.1
hooks:
- id: pyupgrade
args: [--py311-plus]
args: [--py312-plus]
exclude: hooks/
- repo: https://github.com/psf/black
rev: 23.9.1
rev: 25.1.0
hooks:
- id: black
- repo: https://github.com/PyCQA/isort
rev: 5.12.0
rev: 6.0.1
hooks:
- id: isort
- repo: https://github.com/PyCQA/flake8
rev: 6.1.0
rev: 7.2.0
hooks:
- id: flake8
- repo: https://github.com/tox-dev/pyproject-fmt
rev: "v2.5.1"
hooks:
- id: pyproject-fmt
ci:
autoupdate_schedule: weekly
skip: []

View File

@ -14,8 +14,6 @@ pin: True
label_prs: update
requirements:
- "requirements.txt"
- "docs/requirements.txt"
- "{{cookiecutter.project_slug}}/requirements/base.txt"
- "{{cookiecutter.project_slug}}/requirements/local.txt"
- "{{cookiecutter.project_slug}}/requirements/production.txt"

View File

@ -8,13 +8,14 @@ version: 2
build:
os: ubuntu-22.04
tools:
python: "3.11"
python: "3.12"
commands:
- asdf plugin add uv
- asdf install uv latest
- asdf global uv latest
- uv sync --only-group docs --frozen
- uv run -m sphinx -T -b html -d docs/_build/doctrees -D language=en docs $READTHEDOCS_OUTPUT/html
# Build documentation in the docs/ directory with Sphinx
sphinx:
configuration: docs/conf.py
# Declare the Python requirements required to build your docs
python:
install:
- requirements: docs/requirements.txt

File diff suppressed because it is too large Load Diff

View File

@ -18,39 +18,26 @@ This last step is very important, don't start developing from master, it'll caus
## Testing
You'll need to run the tests using Python 3.11. We recommend using [tox](https://tox.readthedocs.io/en/latest/) to run the tests. It will automatically create a fresh virtual environment and install our test dependencies, such as [pytest-cookies](https://pypi.python.org/pypi/pytest-cookies/) and [flake8](https://pypi.python.org/pypi/flake8/).
You'll need to run the tests using Python 3.12. We recommend using [tox](https://tox.readthedocs.io/en/latest/) to run the tests. It will automatically create a fresh virtual environment and install our test dependencies, such as [pytest-cookies](https://pypi.python.org/pypi/pytest-cookies/) and [flake8](https://pypi.python.org/pypi/flake8/).
We'll also run the tests on GitHub actions when you send your pull request, but it's a good idea to run them locally before you send it.
### Installation
First, make sure that your version of Python is 3.11:
```bash
$ python --version
Python 3.11.3
```
Any version that starts with 3.11 will do. If you need to install it, you can get it from [python.org](https://www.python.org/downloads/).
Then install `tox`, if not already installed:
```bash
$ python -m pip install tox
```
We use uv to manage our environment and manage our Python installation. You can install it following the instructions at https://docs.astral.sh/uv/getting-started/installation/
### Run the template's test suite
To run the tests of the template using the current Python version:
```bash
$ tox -e py
$ uv run tox run -e py
```
This uses `pytest `under the hood, and you can pass options to it after a `--`. So to run a particular test:
```bash
$ tox -e py -- -k test_default_configuration
$ uv run tox run -e py -- -k test_default_configuration
```
For further information, please consult the [pytest usage docs](https://pytest.org/en/latest/how-to/usage.html#specifying-which-tests-to-run).
@ -66,13 +53,13 @@ $ source venv/bin/activate
These tests are slower and can be run with or without Docker:
- Without Docker: `scripts/test_bare.sh` (for bare metal)
- With Docker: `scripts/test_docker.sh`
- Without Docker: `tests/test_bare.sh` (for bare metal)
- With Docker: `tests/test_docker.sh`
All arguments to these scripts will be passed to the `cookiecutter` CLI, letting you set options, for example:
```bash
$ scripts/test_bare.sh use_celery=y
$ tests/test_bare.sh use_celery=y
```
## Submitting a pull request

View File

@ -194,6 +194,27 @@ Listed in alphabetical order.
</td>
<td>scaramagus</td>
</tr>
<tr>
<td>aiden</td>
<td>
<a href="https://github.com/anyidea">anyidea</a>
</td>
<td></td>
</tr>
<tr>
<td>Aidos Kanapyanov</td>
<td>
<a href="https://github.com/aidoskanapyanov">aidoskanapyanov</a>
</td>
<td></td>
</tr>
<tr>
<td>Alan Cyment</td>
<td>
<a href="https://github.com/acyment">acyment</a>
</td>
<td></td>
</tr>
<tr>
<td>Alberto Sanchez</td>
<td>
@ -201,6 +222,13 @@ Listed in alphabetical order.
</td>
<td></td>
</tr>
<tr>
<td>Alex Kanavos</td>
<td>
<a href="https://github.com/alexkanavos">alexkanavos</a>
</td>
<td></td>
</tr>
<tr>
<td>Alex Tsai</td>
<td>
@ -208,6 +236,20 @@ Listed in alphabetical order.
</td>
<td></td>
</tr>
<tr>
<td>Alexandr Artemyev</td>
<td>
<a href="https://github.com/Mogost">Mogost</a>
</td>
<td>MOGOST</td>
</tr>
<tr>
<td>Ali Shamakhi</td>
<td>
<a href="https://github.com/ali-shamakhi">ali-shamakhi</a>
</td>
<td></td>
</tr>
<tr>
<td>Alvaro [Andor]</td>
<td>
@ -509,6 +551,20 @@ Listed in alphabetical order.
</td>
<td></td>
</tr>
<tr>
<td>Christian Jauvin</td>
<td>
<a href="https://github.com/cjauvin">cjauvin</a>
</td>
<td></td>
</tr>
<tr>
<td>Christian Jensen</td>
<td>
<a href="https://github.com/jensenbox">jensenbox</a>
</td>
<td>cjensen</td>
</tr>
<tr>
<td>Christopher Clarke</td>
<td>
@ -642,6 +698,13 @@ Listed in alphabetical order.
</td>
<td>DavidDiazPinto</td>
</tr>
<tr>
<td>David Păcioianu</td>
<td>
<a href="https://github.com/DavidPacioianu">DavidPacioianu</a>
</td>
<td></td>
</tr>
<tr>
<td>Davit Tovmasyan</td>
<td>
@ -684,6 +747,13 @@ Listed in alphabetical order.
</td>
<td></td>
</tr>
<tr>
<td>Denis Darii</td>
<td>
<a href="https://github.com/DNX">DNX</a>
</td>
<td></td>
</tr>
<tr>
<td>Denis Orehovsky</td>
<td>
@ -747,6 +817,13 @@ Listed in alphabetical order.
</td>
<td></td>
</tr>
<tr>
<td>Ed Morley</td>
<td>
<a href="https://github.com/edmorley">edmorley</a>
</td>
<td></td>
</tr>
<tr>
<td>Emanuel Calso</td>
<td>
@ -796,6 +873,13 @@ Listed in alphabetical order.
</td>
<td>fabaff</td>
</tr>
<tr>
<td>farwill</td>
<td>
<a href="https://github.com/farwill">farwill</a>
</td>
<td></td>
</tr>
<tr>
<td>Fateme Fouladkar</td>
<td>
@ -810,6 +894,13 @@ Listed in alphabetical order.
</td>
<td></td>
</tr>
<tr>
<td>Filipe Nascimento</td>
<td>
<a href="https://github.com/FilipeNas">FilipeNas</a>
</td>
<td></td>
</tr>
<tr>
<td>Florian Idelberger</td>
<td>
@ -824,6 +915,20 @@ Listed in alphabetical order.
</td>
<td></td>
</tr>
<tr>
<td>Francisco Navarro Morales </td>
<td>
<a href="https://github.com/spothound">spothound</a>
</td>
<td></td>
</tr>
<tr>
<td>Freddy</td>
<td>
<a href="https://github.com/Hraesvelg">Hraesvelg</a>
</td>
<td></td>
</tr>
<tr>
<td>Fuzzwah</td>
<td>
@ -852,6 +957,13 @@ Listed in alphabetical order.
</td>
<td></td>
</tr>
<tr>
<td>Geo Maciolek</td>
<td>
<a href="https://github.com/GeoMaciolek">GeoMaciolek</a>
</td>
<td></td>
</tr>
<tr>
<td>ghazi-git</td>
<td>
@ -866,6 +978,13 @@ Listed in alphabetical order.
</td>
<td></td>
</tr>
<tr>
<td>GitBib</td>
<td>
<a href="https://github.com/GitBib">GitBib</a>
</td>
<td></td>
</tr>
<tr>
<td>Glenn Wiskur</td>
<td>
@ -887,6 +1006,13 @@ Listed in alphabetical order.
</td>
<td></td>
</tr>
<tr>
<td>GvS</td>
<td>
<a href="https://github.com/GvS666">GvS666</a>
</td>
<td></td>
</tr>
<tr>
<td>Hamish Durkin</td>
<td>
@ -894,6 +1020,13 @@ Listed in alphabetical order.
</td>
<td></td>
</tr>
<tr>
<td>Hana Belay</td>
<td>
<a href="https://github.com/earthcomfy">earthcomfy</a>
</td>
<td></td>
</tr>
<tr>
<td>Hana Quadara</td>
<td>
@ -936,6 +1069,13 @@ Listed in alphabetical order.
</td>
<td></td>
</tr>
<tr>
<td>henningbra</td>
<td>
<a href="https://github.com/henningbra">henningbra</a>
</td>
<td></td>
</tr>
<tr>
<td>Henrique G. G. Pereira</td>
<td>
@ -971,6 +1111,13 @@ Listed in alphabetical order.
</td>
<td></td>
</tr>
<tr>
<td>Igor Jerosimić</td>
<td>
<a href="https://github.com/igor-wl">igor-wl</a>
</td>
<td></td>
</tr>
<tr>
<td>Imran Rahman</td>
<td>
@ -1013,6 +1160,13 @@ Listed in alphabetical order.
</td>
<td></td>
</tr>
<tr>
<td>JAEGYUN JUNG</td>
<td>
<a href="https://github.com/TGoddessana">TGoddessana</a>
</td>
<td></td>
</tr>
<tr>
<td>Jakub Boukal</td>
<td>
@ -1048,6 +1202,20 @@ Listed in alphabetical order.
</td>
<td></td>
</tr>
<tr>
<td>Jason Mok</td>
<td>
<a href="https://github.com/jasonmokk">jasonmokk</a>
</td>
<td></td>
</tr>
<tr>
<td>Jens Kaeske</td>
<td>
<a href="https://github.com/jkaeske">jkaeske</a>
</td>
<td></td>
</tr>
<tr>
<td>Jens Nilsson</td>
<td>
@ -1090,6 +1258,13 @@ Listed in alphabetical order.
</td>
<td>cass_john</td>
</tr>
<tr>
<td>Johnny Metz</td>
<td>
<a href="https://github.com/johnnymetz">johnnymetz</a>
</td>
<td></td>
</tr>
<tr>
<td>Jonathan Thompson</td>
<td>
@ -1160,6 +1335,13 @@ Listed in alphabetical order.
</td>
<td></td>
</tr>
<tr>
<td>Kawsar Alam Foysal</td>
<td>
<a href="https://github.com/iamfoysal">iamfoysal</a>
</td>
<td></td>
</tr>
<tr>
<td>Keith Bailey</td>
<td>
@ -1188,6 +1370,13 @@ Listed in alphabetical order.
</td>
<td></td>
</tr>
<tr>
<td>Kevin Mills</td>
<td>
<a href="https://github.com/millsks">millsks</a>
</td>
<td></td>
</tr>
<tr>
<td>Kevin Ndung&#39;u</td>
<td>
@ -1293,6 +1482,13 @@ Listed in alphabetical order.
</td>
<td></td>
</tr>
<tr>
<td>LJFP</td>
<td>
<a href="https://github.com/ljfp">ljfp</a>
</td>
<td></td>
</tr>
<tr>
<td>Luis Nell</td>
<td>
@ -1321,6 +1517,13 @@ Listed in alphabetical order.
</td>
<td>flyudvik</td>
</tr>
<tr>
<td>Manas Mallick</td>
<td>
<a href="https://github.com/ManDun">ManDun</a>
</td>
<td></td>
</tr>
<tr>
<td>Manjit Pardeshi</td>
<td>
@ -1335,6 +1538,27 @@ Listed in alphabetical order.
</td>
<td>marciomazza</td>
</tr>
<tr>
<td>Marios Frixou</td>
<td>
<a href="https://github.com/frixou89">frixou89</a>
</td>
<td></td>
</tr>
<tr>
<td>Mariot Tsitoara</td>
<td>
<a href="https://github.com/mariot">mariot</a>
</td>
<td></td>
</tr>
<tr>
<td>Marlon Castillo</td>
<td>
<a href="https://github.com/mcastle">mcastle</a>
</td>
<td></td>
</tr>
<tr>
<td>Martin Blech</td>
<td>
@ -1412,6 +1636,13 @@ Listed in alphabetical order.
</td>
<td></td>
</tr>
<tr>
<td>Matthew Foster Walsh</td>
<td>
<a href="https://github.com/mfosterw">mfosterw</a>
</td>
<td></td>
</tr>
<tr>
<td>Matthew Sisley</td>
<td>
@ -1447,13 +1678,6 @@ Listed in alphabetical order.
</td>
<td></td>
</tr>
<tr>
<td>mfosterw</td>
<td>
<a href="https://github.com/mfosterw">mfosterw</a>
</td>
<td></td>
</tr>
<tr>
<td>Michael Gecht</td>
<td>
@ -1468,6 +1692,13 @@ Listed in alphabetical order.
</td>
<td></td>
</tr>
<tr>
<td>Michael V. Battista</td>
<td>
<a href="https://github.com/mvbattista">mvbattista</a>
</td>
<td>mvbattista</td>
</tr>
<tr>
<td>Mike97M</td>
<td>
@ -1475,6 +1706,13 @@ Listed in alphabetical order.
</td>
<td></td>
</tr>
<tr>
<td>milvagox</td>
<td>
<a href="https://github.com/milvagox">milvagox</a>
</td>
<td>milvagox</td>
</tr>
<tr>
<td>Min ho Kim</td>
<td>
@ -1503,6 +1741,13 @@ Listed in alphabetical order.
</td>
<td></td>
</tr>
<tr>
<td>Mounir</td>
<td>
<a href="https://github.com/mounirmesselmeni">mounirmesselmeni</a>
</td>
<td></td>
</tr>
<tr>
<td>mozillazg</td>
<td>
@ -1524,6 +1769,13 @@ Listed in alphabetical order.
</td>
<td></td>
</tr>
<tr>
<td>Nadav Peretz</td>
<td>
<a href="https://github.com/nadavperetz">nadavperetz</a>
</td>
<td></td>
</tr>
<tr>
<td>Naveen</td>
<td>
@ -1545,6 +1797,13 @@ Listed in alphabetical order.
</td>
<td></td>
</tr>
<tr>
<td>Nix Siow</td>
<td>
<a href="https://github.com/nixsiow">nixsiow</a>
</td>
<td>nixsiow</td>
</tr>
<tr>
<td>Noah H</td>
<td>
@ -1580,6 +1839,13 @@ Listed in alphabetical order.
</td>
<td>pamelafox</td>
</tr>
<tr>
<td>Param Kapur</td>
<td>
<a href="https://github.com/paramkpr">paramkpr</a>
</td>
<td>ParamKapur</td>
</tr>
<tr>
<td>Parbhat Puri</td>
<td>
@ -1594,6 +1860,20 @@ Listed in alphabetical order.
</td>
<td></td>
</tr>
<tr>
<td>Patrick Zhang</td>
<td>
<a href="https://github.com/PatDuJour">PatDuJour</a>
</td>
<td></td>
</tr>
<tr>
<td>Paul Wulff</td>
<td>
<a href="https://github.com/mtmpaulwulff">mtmpaulwulff</a>
</td>
<td></td>
</tr>
<tr>
<td>Pawan Chaurasia</td>
<td>
@ -1608,6 +1888,13 @@ Listed in alphabetical order.
</td>
<td></td>
</tr>
<tr>
<td>Pepa</td>
<td>
<a href="https://github.com/07pepa">07pepa</a>
</td>
<td></td>
</tr>
<tr>
<td>Peter Bittner</td>
<td>
@ -1643,6 +1930,34 @@ Listed in alphabetical order.
</td>
<td></td>
</tr>
<tr>
<td>Plurific</td>
<td>
<a href="https://github.com/paulschwenn">paulschwenn</a>
</td>
<td></td>
</tr>
<tr>
<td>Pulse-Mind</td>
<td>
<a href="https://github.com/pulse-mind">pulse-mind</a>
</td>
<td></td>
</tr>
<tr>
<td>quroom</td>
<td>
<a href="https://github.com/quroom">quroom</a>
</td>
<td></td>
</tr>
<tr>
<td>qwerrrqw</td>
<td>
<a href="https://github.com/qwerrrqw">qwerrrqw</a>
</td>
<td></td>
</tr>
<tr>
<td>Raony Guimarães Corrêa</td>
<td>
@ -1720,6 +2035,13 @@ Listed in alphabetical order.
</td>
<td></td>
</tr>
<tr>
<td>rxm7706</td>
<td>
<a href="https://github.com/rxm7706">rxm7706</a>
</td>
<td></td>
</tr>
<tr>
<td>Ryan Fitch</td>
<td>
@ -1762,6 +2084,13 @@ Listed in alphabetical order.
</td>
<td>shywn_mrk</td>
</tr>
<tr>
<td>Simeon Emanuilov</td>
<td>
<a href="https://github.com/s-emanuilov">s-emanuilov</a>
</td>
<td>s_emanuilov</td>
</tr>
<tr>
<td>Simon Rey</td>
<td>
@ -2014,6 +2343,13 @@ Listed in alphabetical order.
</td>
<td>westurner</td>
</tr>
<tr>
<td>Will</td>
<td>
<a href="https://github.com/novucs">novucs</a>
</td>
<td></td>
</tr>
<tr>
<td>Will Farley</td>
<td>

View File

@ -6,21 +6,21 @@
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)
[![Updates](https://pyup.io/repos/github/cookiecutter/cookiecutter-django/shield.svg)](https://pyup.io/repos/github/cookiecutter/cookiecutter-django/)
[![Join our Discord](https://img.shields.io/badge/Discord-cookiecutter-5865F2?style=flat&logo=discord&logoColor=white)](https://discord.gg/uFXweDQc5a)
[![Join our Discord](https://img.shields.io/badge/Discord-cookiecutter-5865F2?style=flat&logo=discord&logoColor=white)](https://discord.gg/rAWFUP47d2)
[![Code Helpers Badge](https://www.codetriage.com/cookiecutter/cookiecutter-django/badges/users.svg)](https://www.codetriage.com/cookiecutter/cookiecutter-django)
Powered by [Cookiecutter](https://github.com/cookiecutter/cookiecutter), Cookiecutter Django is a framework for jumpstarting
production-ready Django projects quickly.
- Documentation: <https://cookiecutter-django.readthedocs.io/en/latest/>
- See [Troubleshooting](https://cookiecutter-django.readthedocs.io/en/latest/troubleshooting.html) for common errors and obstacles
- See [Troubleshooting](https://cookiecutter-django.readthedocs.io/en/latest/5-help/troubleshooting.html) for common errors and obstacles
- If you have problems with Cookiecutter Django, please open [issues](https://github.com/cookiecutter/cookiecutter-django/issues/new) don't send
emails to the maintainers.
## Features
- For Django 4.2
- Works with Python 3.11
- For Django 5.1
- Works with Python 3.12
- Renders Django projects with 100% starting test coverage
- Twitter [Bootstrap](https://github.com/twbs/bootstrap) v5
- [12-Factor](https://12factor.net) based settings via [django-environ](https://github.com/joke2k/django-environ)
@ -51,7 +51,7 @@ _These features can be enabled during initial project setup._
## Constraints
- Only maintained 3rd party libraries are used.
- Uses PostgreSQL everywhere: 10 - 15 ([MySQL fork](https://github.com/mabdullahadeel/cookiecutter-django-mysql) also available).
- Uses PostgreSQL everywhere: 13 - 16 ([MySQL fork](https://github.com/mabdullahadeel/cookiecutter-django-mysql) also available).
- Environment variables for configuration (This won't work with Apache/mod_wsgi).
## Support this Project!
@ -65,19 +65,15 @@ This project is an open source project run by volunteers. You can sponsor us via
Projects that provide financial support to the maintainers:
---
### Two Scoops of Django
<p align="center">
<a href="https://www.feldroy.com/products//two-scoops-of-django-3-x"><img src="https://cdn.shopify.com/s/files/1/0304/6901/products/Two-Scoops-of-Django-3-Alpha-Cover_540x_26507b15-e489-470b-8a97-02773dd498d1_1080x.jpg"></a>
</p>
[![Cover of the book "Two Scoops of Django 3.x"](https://f004.backblazeb2.com/file/feldroycom/images/book-TSD3-800.jpg)](https://www.feldroy.com/two-scoops-press#two-scoops-of-django)
Two Scoops of Django 3.x is the best ice cream-themed Django reference in the universe!
### PyUp
<p align="center">
<a href="https://pyup.io/"><img src="https://pyup.io/static/images/logo.png"></a>
</p>
[![PyUp Logo](https://pyup.io/static/images/logo.png)](https://pyup.io)
PyUp brings you automated security and dependency updates used by Google and other organizations. Free for open source projects!
@ -98,7 +94,7 @@ You'll be prompted for some values. Provide them, then a Django project will be
**Warning**: After this point, change 'Daniel Greenfeld', 'pydanny', etc to your own information.
Answer the prompts with your own desired [options](http://cookiecutter-django.readthedocs.io/en/latest/project-generation-options.html). For example:
Answer the prompts with your own desired [options](http://cookiecutter-django.readthedocs.io/en/latest/1-getting-started/project-generation-options.html). For example:
Cloning into 'cookiecutter-django'...
remote: Counting objects: 550, done.
@ -133,13 +129,11 @@ Answer the prompts with your own desired [options](http://cookiecutter-django.re
Choose from 1, 2, 3 [1]: 1
use_docker [n]: n
Select postgresql_version:
1 - 15
2 - 14
3 - 13
4 - 12
5 - 11
6 - 10
Choose from 1, 2, 3, 4, 5 [1]: 1
1 - 16
2 - 15
3 - 14
4 - 13
Choose from 1, 2, 3, 4 [1]: 1
Select cloud_provider:
1 - AWS
2 - GCP
@ -152,7 +146,7 @@ Answer the prompts with your own desired [options](http://cookiecutter-django.re
4 - Mandrill
5 - Postmark
6 - Sendgrid
7 - SendinBlue
7 - Brevo (formerly SendinBlue)
8 - SparkPost
9 - Other SMTP
Choose from 1, 2, 3, 4, 5, 6, 7, 8, 9 [1]: 1
@ -195,8 +189,8 @@ Now take a look at your repo. Don't forget to carefully look at the generated RE
For local development, see the following:
- [Developing locally](http://cookiecutter-django.readthedocs.io/en/latest/developing-locally.html)
- [Developing locally using docker](http://cookiecutter-django.readthedocs.io/en/latest/developing-locally-docker.html)
- [Developing locally](https://cookiecutter-django.readthedocs.io/en/latest/2-local-development/developing-locally.html)
- [Developing locally using docker](https://cookiecutter-django.readthedocs.io/en/latest/2-local-development/developing-locally-docker.html)
## Community
@ -204,6 +198,8 @@ For local development, see the following:
- If you think you found a bug or want to request a feature, please open an [issue](https://github.com/cookiecutter/cookiecutter-django/issues).
- For anything else, you can chat with us on [Discord](https://discord.gg/uFXweDQc5a).
<img src="https://opencollective.com/cookiecutter-django/contributors.svg?width=890&button=false" alt="Contributors">
## For Readers of Two Scoops of Django
You may notice that some elements of this project do not exactly match what we describe in chapter 3. The reason for that is this project, amongst other things, serves as a test bed for trying out new ideas and concepts. Sometimes they work, sometimes they don't, but the end result is that it won't necessarily match precisely what is described in the book I co-authored.
@ -247,6 +243,7 @@ experience better.
## Articles
- [Why cookiecutter-django is Essential for Your Next Django Project](https://medium.com/@millsks/why-cookiecutter-django-is-essential-for-your-next-django-project-7d3c00cdce51) - Aug. 4, 2024
- [How to Make Your Own Django Cookiecutter Template!](https://medium.com/@FatemeFouladkar/how-to-make-your-own-django-cookiecutter-template-a753d4cbb8c2) - Aug. 10, 2023
- [Cookiecutter Django With Amazon RDS](https://haseeburrehman.com/posts/cookiecutter-django-with-amazon-rds/) - Apr, 2, 2021
- [Complete Walkthrough: Blue/Green Deployment to AWS ECS using GitHub actions](https://github.com/Andrew-Chen-Wang/cookiecutter-django-ecs-github) - June 10, 2020

View File

@ -18,7 +18,7 @@
"windows": "n",
"editor": ["None", "PyCharm", "VS Code"],
"use_docker": "n",
"postgresql_version": ["15", "14", "13", "12", "11", "10"],
"postgresql_version": ["16", "15", "14", "13"],
"cloud_provider": ["AWS", "GCP", "Azure", "None"],
"mail_service": [
"Mailgun",
@ -27,7 +27,7 @@
"Mandrill",
"Postmark",
"Sendgrid",
"SendinBlue",
"Brevo",
"SparkPost",
"Other SMTP"
],

View File

@ -66,12 +66,10 @@ use_docker:
postgresql_version:
Select a PostgreSQL_ version to use. The choices are:
1. 15
2. 14
3. 13
4. 12
5. 11
6. 10
1. 16
2. 15
3. 14
4. 13
cloud_provider:
Select a cloud provider for static & media files. The choices are:
@ -92,7 +90,7 @@ mail_service:
4. Mandrill_
5. Postmark_
6. SendGrid_
7. SendinBlue_
7. `Brevo (formerly SendinBlue)`_
8. SparkPost_
9. `Other SMTP`_
@ -175,7 +173,7 @@ debug:
.. _Mandrill: http://mandrill.com
.. _Postmark: https://postmarkapp.com
.. _SendGrid: https://sendgrid.com
.. _SendinBlue: https://www.sendinblue.com
.. _Brevo (formerly SendinBlue): https://www.brevo.com
.. _SparkPost: https://www.sparkpost.com
.. _Other SMTP: https://anymail.readthedocs.io/en/stable/

View File

@ -39,7 +39,6 @@ The following table lists settings and their defaults for third-party applicatio
======================================= =========================== ============================================== ======================================================================
Environment Variable Django Setting Development Default Production Default
======================================= =========================== ============================================== ======================================================================
CELERY_BROKER_URL CELERY_BROKER_URL auto w/ Docker; raises error w/o raises error
DJANGO_AWS_ACCESS_KEY_ID AWS_ACCESS_KEY_ID n/a raises error
DJANGO_AWS_SECRET_ACCESS_KEY AWS_SECRET_ACCESS_KEY n/a raises error
DJANGO_AWS_STORAGE_BUCKET_NAME AWS_STORAGE_BUCKET_NAME n/a raises error
@ -69,8 +68,8 @@ SENDGRID_API_KEY SENDGRID_API_KEY n/a
SENDGRID_GENERATE_MESSAGE_ID True n/a raises error
SENDGRID_MERGE_FIELD_FORMAT None n/a raises error
SENDGRID_API_URL n/a n/a "https://api.sendgrid.com/v3/"
SENDINBLUE_API_KEY SENDINBLUE_API_KEY n/a raises error
SENDINBLUE_API_URL n/a n/a "https://api.sendinblue.com/v3/"
BREVO_API_KEY BREVO_API_KEY n/a raises error
BREVO_API_URL n/a n/a "https://api.brevo.com/v3/"
SPARKPOST_API_KEY SPARKPOST_API_KEY n/a raises error
SPARKPOST_API_URL n/a n/a "https://api.sparkpost.com/api/v1"
======================================= =========================== ============================================== ======================================================================

View File

@ -32,9 +32,9 @@ Build the Stack
This can take a while, especially the first time you run this particular command on your development system::
$ docker compose -f local.yml build
$ docker compose -f docker-compose.local.yml build
Generally, if you want to emulate production environment use ``production.yml`` instead. And this is true for any other actions you might need to perform: whenever a switch is required, just do it!
Generally, if you want to emulate production environment use ``docker-compose.production.yml`` instead. And this is true for any other actions you might need to perform: whenever a switch is required, just do it!
Before doing any git commit, `pre-commit`_ should be installed globally on your local machine, and then::
@ -43,7 +43,6 @@ Before doing any git commit, `pre-commit`_ should be installed globally on your
Failing to do so will result with a bunch of CI and Linter errors that can be avoided with pre-commit.
Run the Stack
-------------
@ -51,11 +50,11 @@ This brings up both Django and PostgreSQL. The first time it is run it might tak
Open a terminal at the project root and run the following for local development::
$ docker compose -f local.yml up
$ docker compose -f docker-compose.local.yml up
You can also set the environment variable ``COMPOSE_FILE`` pointing to ``local.yml`` like this::
You can also set the environment variable ``COMPOSE_FILE`` pointing to ``docker-compose.local.yml`` like this::
$ export COMPOSE_FILE=local.yml
$ export COMPOSE_FILE=docker-compose.local.yml
And then run::
@ -65,16 +64,23 @@ To run in a detached (background) mode, just::
$ docker compose up -d
These commands don't run the docs service. In order to run docs service you can run::
$ docker compose -f docker-compose.docs.yml up
To run the docs with local services just use::
$ docker compose -f docker-compose.local.yml -f docker-compose.docs.yml up
The site should start and be accessible at http://localhost:3000 if you selected Webpack or Gulp as frontend pipeline and http://localhost:8000 otherwise.
Execute Management Commands
---------------------------
As with any shell command that we wish to run in our container, this is done using the ``docker compose -f local.yml run --rm`` command: ::
As with any shell command that we wish to run in our container, this is done using the ``docker compose -f docker-compose.local.yml run --rm`` command: ::
$ docker compose -f local.yml run --rm django python manage.py migrate
$ docker compose -f local.yml run --rm django python manage.py createsuperuser
$ docker compose -f docker-compose.local.yml run --rm django python manage.py migrate
$ docker compose -f docker-compose.local.yml run --rm django python manage.py createsuperuser
Here, ``django`` is the target service we are executing the commands against.
Also, please note that the ``docker exec`` does not work for running management commands.
@ -84,13 +90,12 @@ Also, please note that the ``docker exec`` does not work for running management
When ``DEBUG`` is set to ``True``, the host is validated against ``['localhost', '127.0.0.1', '[::1]']``. This is adequate when running a ``virtualenv``. For Docker, in the ``config.settings.local``, add your host development server IP to ``INTERNAL_IPS`` or ``ALLOWED_HOSTS`` if the variable exists.
.. _envs:
Configuring the Environment
---------------------------
This is the excerpt from your project's ``local.yml``: ::
This is the excerpt from your project's ``docker-compose.local.yml``: ::
# ...
@ -110,8 +115,8 @@ The most important thing for us here now is ``env_file`` section enlisting ``./.
.envs
├── .local
   ├── .django
   └── .postgres
├── .django
└── .postgres
└── .production
├── .django
└── .postgres
@ -156,8 +161,8 @@ You have to modify the relevant requirement file: base, local or production by a
To get this change picked up, you'll need to rebuild the image(s) and restart the running container: ::
docker compose -f local.yml build
docker compose -f local.yml up
docker compose -f docker-compose.local.yml build
docker compose -f docker-compose.local.yml up
Debugging
~~~~~~~~~
@ -171,7 +176,7 @@ If you are using the following within your code to debug: ::
Then you may need to run the following for it to work as desired: ::
$ docker compose -f local.yml run --rm --service-ports django
$ docker compose -f docker-compose.local.yml run --rm --service-ports django
django-debug-toolbar
@ -188,7 +193,6 @@ The ``container_name`` from the yml file can be used to check on containers with
$ docker logs <project_slug>_local_celeryworker
$ docker top <project_slug>_local_celeryworker
Notice that the ``container_name`` is generated dynamically using your project slug as a prefix
Mailpit
@ -224,7 +228,7 @@ Prerequisites:
* ``use_docker`` was set to ``y`` on project initialization;
* ``use_celery`` was set to ``y`` on project initialization.
By default, it's enabled both in local and production environments (``local.yml`` and ``production.yml`` Docker Compose configs, respectively) through a ``flower`` service. For added security, ``flower`` requires its clients to provide authentication credentials specified as the corresponding environments' ``.envs/.local/.django`` and ``.envs/.production/.django`` ``CELERY_FLOWER_USER`` and ``CELERY_FLOWER_PASSWORD`` environment variables. Check out ``localhost:5555`` and see for yourself.
By default, it's enabled both in local and production environments (``docker-compose.local.yml`` and ``docker-compose.production.yml`` Docker Compose configs, respectively) through a ``flower`` service. For added security, ``flower`` requires its clients to provide authentication credentials specified as the corresponding environments' ``.envs/.local/.django`` and ``.envs/.production/.django`` ``CELERY_FLOWER_USER`` and ``CELERY_FLOWER_PASSWORD`` environment variables. Check out ``localhost:5555`` and see for yourself.
.. _`Flower`: https://github.com/mher/flower
@ -238,46 +242,65 @@ The stack comes with a dedicated node service to build the static assets, watch
.. _Sass: https://sass-lang.com/
.. _live reloading: https://browsersync.io
Developing locally with HTTPS
-----------------------------
Increasingly it is becoming necessary to develop software in a secure environment in order that there are very few changes when deploying to production. Recently Facebook changed their policies for apps/sites that use Facebook login which requires the use of an HTTPS URL for the OAuth redirect URL. So if you want to use the ``users`` application with a OAuth provider such as Facebook, securing your communication to the local development environment will be necessary.
Using Just for Docker Commands
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In order to create a secure environment, we need to have a trusted SSL certificate installed in our Docker application.
We have included a ``justfile`` to simplify the use of frequent Docker commands for local development.
#. **Let's Encrypt**
.. warning::
Currently, "Just" does not reliably handle signals or forward them to its subprocesses. As a result,
pressing CTRL+C (or sending other signals like SIGTERM, SIGINT, or SIGHUP) may only interrupt
"Just" itself rather than its subprocesses.
For more information, see `this GitHub issue <https://github.com/casey/just/issues/2473>`_.
The official line from Lets Encrypt is:
First, install Just using one of the methods described in the `official documentation <https://just.systems/man/en/packages.html>`_.
[For local development section] ... The best option: Generate your own certificate, either self-signed or signed by a local root, and trust it in your operating systems trust store. Then use that certificate in your local web server. See below for details.
Here are the available commands:
See `letsencrypt.org - certificates-for-localhost`_
- ``just build``
Builds the Python image using the local Docker Compose file.
.. _`letsencrypt.org - certificates-for-localhost`: https://letsencrypt.org/docs/certificates-for-localhost/
- ``just up``
Starts the containers in detached mode and removes orphaned containers.
#. **mkcert: Valid Https Certificates For Localhost**
- ``just down``
Stops the running containers.
`mkcert`_ is a simple by design tool that hides all the arcane knowledge required to generate valid TLS certificates. It works for any hostname or IP, including localhost. It supports macOS, Linux, and Windows, and Firefox, Chrome and Java. It even works on mobile devices with a couple manual steps.
- ``just prune``
Stops and removes containers along with their volumes. You can optionally pass an argument with the service name to prune a single container.
See https://blog.filippo.io/mkcert-valid-https-certificates-for-localhost/
- ``just logs``
Shows container logs. You can optionally pass an argument with the service name to view logs for a specific service.
.. _`mkcert`: https://github.com/FiloSottile/mkcert/blob/master/README.md#supported-root-stores
- ``just manage <command>``
Runs Django management commands within the container. Replace ``<command>`` with any valid Django management command, such as ``migrate``, ``createsuperuser``, or ``shell``.
After installing a trusted TLS certificate, configure your docker installation. We are going to configure an ``nginx`` reverse-proxy server. This makes sure that it does not interfere with our ``traefik`` configuration that is reserved for production environments.
These are the places that you should configure to secure your local environment.
(Optionally) Developing locally with HTTPS
------------------------------------------
certs
Nginx
~~~~~
Take the certificates that you generated and place them in a folder called ``certs`` in the project's root folder. Assuming that you registered your local hostname as ``my-dev-env.local``, the certificates you will put in the folder should have the names ``my-dev-env.local.crt`` and ``my-dev-env.local.key``.
If you want to add some sort of social authentication with a OAuth provider such as Facebook, securing your communication to the local development environment will be necessary. These providers usually require that you use an HTTPS URL for the OAuth redirect URL for the Facebook login to work appropriately.
local.yml
~~~~~~~~~
Here is a link to an article on `how to add HTTPS using Nginx`_ to your local docker installation. This also includes how to serve files from the ``media`` location, in the event that you are want to serve user-uploaded content.
#. Add the ``nginx-proxy`` service. ::
.. _`how to add HTTPS using Nginx`: https://afroshok.com/cookiecutter-https
...
Webpack
~~~~~~~
If you are using Webpack, first install `mkcert`_. It is a simple by design tool that hides all the arcane knowledge required to generate valid TLS certificates. It works for any hostname or IP, including localhost. It supports macOS, Linux, and Windows, and Firefox, Chrome and Java. It even works on mobile devices with a couple manual steps. See https://blog.filippo.io/mkcert-valid-https-certificates-for-localhost/
.. _`mkcert`: https://github.com/FiloSottile/mkcert/blob/master/README.md#supported-root-stores
These are the places that you should configure to secure your local environment. Take the certificates that you generated and place them in a folder called ``certs`` in the project's root folder. Configure an ``nginx`` reverse-proxy server as a ``service`` in the ``docker-compose.local.yml``. This makes sure that it does not interfere with our ``traefik`` configuration that is reserved for production environments.
Assuming that you registered your local hostname as ``my-dev-env.local``, the certificates you will put in the folder should have the names ``my-dev-env.local.crt`` and ``my-dev-env.local.key``.
1. Add the ``nginx-proxy`` service to the ``docker-compose.local.yml``. ::
nginx-proxy:
image: jwilder/nginx-proxy:alpine
@ -290,66 +313,28 @@ local.yml
- ./certs:/etc/nginx/certs
restart: always
depends_on:
- django
- node
environment:
- VIRTUAL_HOST=my-dev-env.local
- VIRTUAL_PORT=3000
...
2. Add the local secure domain to the ``config/settings/local.py``. You should allow the new hostname ::
#. Link the ``nginx-proxy`` to ``django`` through environment variables.
ALLOWED_HOSTS = ["localhost", "0.0.0.0", "127.0.0.1", "my-dev-env.local"]
``django`` already has an ``.env`` file connected to it. Add the following variables. You should do this especially if you are working with a team and you want to keep your local environment details to yourself.
3. Add the following configuration to the ``devServer`` section of ``webpack/dev.config.js`` ::
::
client: {
webSocketURL: 'auto://0.0.0.0:0/ws', // note the `:0` after `0.0.0.0`
},
# HTTPS
# ------------------------------------------------------------------------------
VIRTUAL_HOST=my-dev-env.local
VIRTUAL_PORT=8000
The services run behind the reverse proxy.
config/settings/local.py
~~~~~~~~~~~~~~~~~~~~~~~~
You should allow the new hostname. ::
ALLOWED_HOSTS = ["localhost", "0.0.0.0", "127.0.0.1", "my-dev-env.local"]
Rebuild your ``docker`` application. ::
$ docker compose -f local.yml up -d --build
$ docker compose -f docker-compose.local.yml up -d --build
Go to your browser and type in your URL bar ``https://my-dev-env.local``
Go to your browser and type in your URL bar ``https://my-dev-env.local``.
See `https with nginx`_ for more information on this configuration.
For more on this configuration, see `https with nginx`_.
.. _`https with nginx`: https://codewithhugo.com/docker-compose-local-https/
.gitignore
~~~~~~~~~~
Add ``certs/*`` to the ``.gitignore`` file. This allows the folder to be included in the repo but its contents to be ignored.
*This configuration is for local development environments only. Do not use this for production since you might expose your local* ``rootCA-key.pem``.
Webpack
~~~~~~~
If you are using Webpack:
1. On the ``nginx-proxy`` service in ``local.yml``, change ``depends_on`` to ``node`` instead of ``django``.
2. On the ``node`` service in ``local.yml``, add the following environment configuration:
::
environment:
- VIRTUAL_HOST=my-dev-env.local
- VIRTUAL_PORT=3000
3. Add the following configuration to the ``devServer`` section of ``webpack/dev.config.js``:
::
client: {
webSocketURL: 'auto://0.0.0.0:0/ws', // note the `:0` after `0.0.0.0`
},
.. _`https with nginx`: https://codewithhugo.com/docker-compose-local-https/

View File

@ -9,7 +9,7 @@ Setting Up Development Environment
Make sure to have the following on your host:
* Python 3.11
* Python 3.12
* PostgreSQL_.
* Redis_, if using Celery
* Cookiecutter_
@ -18,14 +18,13 @@ First things first.
#. Create a virtualenv: ::
$ python3.11 -m venv <virtual env path>
$ python3.12 -m venv <virtual env path>
#. Activate the virtualenv you have just created: ::
$ source <virtual env path>/bin/activate
#.
.. include:: generate-project-block.rst
#. .. include:: generate-project-block.rst
#. Install development requirements: ::
@ -56,8 +55,6 @@ First things first.
#. Set the environment variables for your database(s): ::
$ export DATABASE_URL=postgres://postgres:<password>@127.0.0.1:5432/<DB name given to createdb>
# Optional: set broker URL if using Celery
$ export CELERY_BROKER_URL=redis://localhost:6379/0
.. note::
@ -96,6 +93,61 @@ First things first.
.. _direnv: https://direnv.net/
Creating Your First Django App
-------------------------------
After setting up your environment, you're ready to add your first app. This project uses the setup from "Two Scoops of Django" with a two-tier layout:
- **Top Level Repository Root** has config files, documentation, `manage.py`, and more.
- **Second Level Django Project Root** is where your Django apps live.
- **Second Level Configuration Root** holds settings and URL configurations.
The project layout looks something like this: ::
<repository_root>/
├── config/
│ ├── settings/
│ │ ├── __init__.py
│ │ ├── base.py
│ │ ├── local.py
│ │ └── production.py
│ ├── urls.py
│ └── wsgi.py
├── <django_project_root>/
│ ├── <name_of_the_app>/
│ │ ├── migrations/
│ │ ├── admin.py
│ │ ├── apps.py
│ │ ├── models.py
│ │ ├── tests.py
│ │ └── views.py
│ ├── __init__.py
│ └── ...
├── requirements/
│ ├── base.txt
│ ├── local.txt
│ └── production.txt
├── manage.py
├── README.md
└── ...
Following this structured approach, here's how to add a new app:
#. **Create the app** using Django's ``startapp`` command, replacing ``<name-of-the-app>`` with your desired app name: ::
$ python manage.py startapp <name-of-the-app>
#. **Move the app** to the Django Project Root, maintaining the project's two-tier structure: ::
$ mv <name-of-the-app> <django_project_root>/
#. **Edit the app's apps.py** change ``name = '<name-of-the-app>'`` to ``name = '<django_project_root>.<name-of-the-app>'``.
#. **Register the new app** by adding it to the ``LOCAL_APPS`` list in ``config/settings/base.py``, integrating it as an official component of your project.
Setup Email Backend
-------------------
@ -164,7 +216,7 @@ The project comes with a simple task for manual testing purposes, inside `<proje
You can also use Django admin to queue up tasks, thanks to the `django-celerybeat`_ package.
.. _Getting started with Redis guide: https://redis.io/docs/getting-started/
.. _Getting started with Redis: https://redis.io/docs/getting-started/
.. _Celery Workers Guide: https://docs.celeryq.dev/en/stable/userguide/workers.html
.. _django-celerybeat: https://django-celery-beat.readthedocs.io/en/latest/

View File

@ -12,7 +12,9 @@ Run these commands to deploy the project to Heroku:
heroku create --buildpack heroku/python
heroku addons:create heroku-postgresql:mini
# Note: this is not a free plan
heroku addons:create heroku-postgresql:essential-0
# On Windows use double quotes for the time zone, e.g.
# heroku pg:backups schedule --at "02:00 America/Los_Angeles" DATABASE_URL
heroku pg:backups schedule --at '02:00 America/Los_Angeles' DATABASE_URL
@ -23,10 +25,6 @@ Run these commands to deploy the project to Heroku:
# Assuming you chose Mailgun as mail service (see below for others)
heroku addons:create mailgun:starter
heroku config:set PYTHONHASHSEED=random
heroku config:set WEB_CONCURRENCY=4
heroku config:set DJANGO_DEBUG=False
heroku config:set DJANGO_SETTINGS_MODULE=config.settings.production
heroku config:set DJANGO_SECRET_KEY="$(openssl rand -base64 64)"
@ -46,7 +44,7 @@ Run these commands to deploy the project to Heroku:
# Assign with AWS_STORAGE_BUCKET_NAME
heroku config:set DJANGO_AWS_STORAGE_BUCKET_NAME=
git push heroku master
git push heroku main
heroku run python manage.py createsuperuser
@ -64,7 +62,7 @@ The script above assumes that you've chose Mailgun as email service. If you want
.. warning::
.. include:: mailgun.rst
.. include:: ../includes/mailgun.rst
Heroku & Docker
+++++++++++++++
@ -85,8 +83,6 @@ it's in the ``Procfile``, but is turned off by default:
.. code-block:: bash
# Set the broker URL to Redis
heroku config:set CELERY_BROKER_URL=`heroku config:get REDIS_URL`
# Scale dyno to 1 instance
heroku ps:scale worker=1

View File

@ -37,7 +37,7 @@ Make sure your project is fully committed and pushed up to Bitbucket or Github o
mkvirtualenv --python=/usr/bin/python3.10 my-project-name
pip install -r requirements/production.txt # may take a few minutes
.. note:: We're creating the virtualenv using Python 3.10 (``--python=/usr/bin/python3.10```), although Cookiecutter Django generates a project for Python 3.11. This is because, at time of writing, PythonAnywhere only supports Python 3.10. It shouldn't be a problem, but if is, you may try changing the Python version to 3.11 and see if it works. If it does, please let us know, or even better, submit a pull request to update this section.
.. note:: We're creating the virtualenv using Python 3.10 (``--python=/usr/bin/python3.10```), although Cookiecutter Django generates a project for Python 3.12. This is because, at time of writing, PythonAnywhere only supports Python 3.10. It shouldn't be a problem, but if is, you may try changing the Python version to 3.12 and see if it works. If it does, please let us know, or even better, submit a pull request to update this section.
Setting environment variables in the console
--------------------------------------------

View File

@ -14,7 +14,7 @@ Prerequisites
Understanding the Docker Compose Setup
--------------------------------------
Before you begin, check out the ``production.yml`` file in the root of this project. Keep note of how it provides configuration for the following services:
Before you begin, check out the ``docker-compose.production.yml`` file in the root of this project. Keep note of how it provides configuration for the following services:
* ``django``: your application running behind ``Gunicorn``;
* ``postgres``: PostgreSQL database with the application's relational data;
@ -55,7 +55,7 @@ You will probably also need to setup the Mail backend, for example by adding a `
.. warning::
.. include:: mailgun.rst
.. include:: ../includes/mailgun.rst
Optional: Use AWS IAM Role for EC2 instance
@ -107,7 +107,7 @@ To solve this, you can either:
2. create a ``.env`` file in the root of the project with just variables you need. You'll need to also define them in ``.envs/.production/.django`` (hence duplicating them).
3. set these variables when running the build command::
DJANGO_AWS_S3_CUSTOM_DOMAIN=example.com docker compose -f production.yml build``.
DJANGO_AWS_S3_CUSTOM_DOMAIN=example.com docker compose -f docker-compose.production.yml build``.
None of these options are ideal, we're open to suggestions on how to improve this. If you think you have one, please open an issue or a pull request.
@ -122,42 +122,42 @@ Building & Running Production Stack
You will need to build the stack first. To do that, run::
docker compose -f production.yml build
docker compose -f docker-compose.production.yml build
Once this is ready, you can run it with::
docker compose -f production.yml up
docker compose -f docker-compose.production.yml up
To run the stack and detach the containers, run::
docker compose -f production.yml up -d
docker compose -f docker-compose.production.yml up -d
To run a migration, open up a second terminal and run::
docker compose -f production.yml run --rm django python manage.py migrate
docker compose -f docker-compose.production.yml run --rm django python manage.py migrate
To create a superuser, run::
docker compose -f production.yml run --rm django python manage.py createsuperuser
docker compose -f docker-compose.production.yml run --rm django python manage.py createsuperuser
If you need a shell, run::
docker compose -f production.yml run --rm django python manage.py shell
docker compose -f docker-compose.production.yml run --rm django python manage.py shell
To check the logs out, run::
docker compose -f production.yml logs
docker compose -f docker-compose.production.yml logs
If you want to scale your application, run::
docker compose -f production.yml up --scale django=4
docker compose -f production.yml up --scale celeryworker=2
docker compose -f docker-compose.production.yml up --scale django=4
docker compose -f docker-compose.production.yml up --scale celeryworker=2
.. warning:: don't try to scale ``postgres``, ``celerybeat``, or ``traefik``.
To see how your containers are doing run::
docker compose -f production.yml ps
docker compose -f docker-compose.production.yml ps
Example: Supervisor
@ -165,12 +165,12 @@ Example: Supervisor
Once you are ready with your initial setup, you want to make sure that your application is run by a process manager to
survive reboots and auto restarts in case of an error. You can use the process manager you are most familiar with. All
it needs to do is to run ``docker compose -f production.yml up`` in your projects root directory.
it needs to do is to run ``docker compose -f docker-compose.production.yml up`` in your projects root directory.
If you are using ``supervisor``, you can use this file as a starting point::
[program:{{cookiecutter.project_slug}}]
command=docker compose -f production.yml up
command=docker compose -f docker-compose.production.yml up
directory=/path/to/{{cookiecutter.project_slug}}
redirect_stderr=true
autostart=true

View File

@ -1,14 +1,14 @@
PostgreSQL Backups with Docker
==============================
.. note:: For brevity it is assumed that you will be running the below commands against local environment, however, this is by no means mandatory so feel free to switch to ``production.yml`` when needed.
.. note:: For brevity it is assumed that you will be running the below commands against local environment, however, this is by no means mandatory so feel free to switch to ``docker-compose.production.yml`` when needed.
Prerequisites
-------------
#. the project was generated with ``use_docker`` set to ``y``;
#. the stack is up and running: ``docker compose -f local.yml up -d postgres``.
#. the stack is up and running: ``docker compose -f docker-compose.local.yml up -d postgres``.
Creating a Backup
@ -16,7 +16,7 @@ Creating a Backup
To create a backup, run::
$ docker compose -f local.yml exec postgres backup
$ docker compose -f docker-compose.local.yml exec postgres backup
Assuming your project's database is named ``my_project`` here is what you will see: ::
@ -31,7 +31,7 @@ Viewing the Existing Backups
To list existing backups, ::
$ docker compose -f local.yml exec postgres backups
$ docker compose -f docker-compose.local.yml exec postgres backups
These are the sample contents of ``/backups``: ::
@ -55,9 +55,9 @@ With a single backup file copied to ``.`` that would be ::
$ docker cp 9c5c3f055843:/backups/backup_2018_03_13T09_05_07.sql.gz .
You can also get the container ID using ``docker compose -f local.yml ps -q postgres`` so if you want to automate your backups, you don't have to check the container ID manually every time. Here is the full command ::
You can also get the container ID using ``docker compose -f docker-compose.local.yml ps -q postgres`` so if you want to automate your backups, you don't have to check the container ID manually every time. Here is the full command ::
$ docker cp $(docker compose -f local.yml ps -q postgres):/backups ./backups
$ docker cp $(docker compose -f docker-compose.local.yml ps -q postgres):/backups ./backups
.. _`command`: https://docs.docker.com/engine/reference/commandline/cp/
@ -66,7 +66,7 @@ Restoring from the Existing Backup
To restore from one of the backups you have already got (take the ``backup_2018_03_13T09_05_07.sql.gz`` for example), ::
$ docker compose -f local.yml exec postgres restore backup_2018_03_13T09_05_07.sql.gz
$ docker compose -f docker-compose.local.yml exec postgres restore backup_2018_03_13T09_05_07.sql.gz
You will see something like ::
@ -92,7 +92,36 @@ You will see something like ::
Backup to Amazon S3
----------------------------------
For uploading your backups to Amazon S3 you can use the aws cli container. There is an upload command for uploading the postgres /backups directory recursively and there is a download command for downloading a specific backup. The default S3 environment variables are used. ::
$ docker compose -f production.yml run --rm awscli upload
$ docker compose -f production.yml run --rm awscli download backup_2018_03_13T09_05_07.sql.gz
$ docker compose -f docker-compose.production.yml run --rm awscli upload
$ docker compose -f docker-compose.production.yml run --rm awscli download backup_2018_03_13T09_05_07.sql.gz
Remove Backup
----------------------------------
To remove backup you can use the ``rmbackup`` command. This will remove the backup from the ``/backups`` directory. ::
$ docker compose -f docker-compose.local.yml exec postgres rmbackup backup_2018_03_13T09_05_07.sql.gz
Upgrading PostgreSQL
----------------------------------
Upgrading PostgreSQL in your project requires a series of carefully executed steps. Start by halting all containers, excluding the postgres container. Following this, create a backup and proceed to remove the outdated data volume. ::
$ docker compose -f docker-compose.local.yml down
$ docker compose -f docker-compose.local.yml up -d postgres
$ docker compose -f docker-compose.local.yml run --rm postgres backup
$ docker compose -f docker-compose.local.yml down
$ docker volume rm my_project_postgres_data
.. note:: Neglecting to remove the old data volume may lead to issues, such as the new postgres container failing to start with errors like ``FATAL: database files are incompatible with server``, and ``could not translate host name "postgres" to address: Name or service not known``.
To complete the upgrade, update the PostgreSQL version in the corresponding Dockerfile (e.g. ``compose/production/postgres/Dockerfile``) and build a new version of PostgreSQL. ::
$ docker compose -f docker-compose.local.yml build postgres
$ docker compose -f docker-compose.local.yml up -d postgres
$ docker compose -f docker-compose.local.yml run --rm postgres restore backup_2018_03_13T09_05_07.sql.gz
$ docker compose -f docker-compose.local.yml up -d

View File

@ -11,7 +11,7 @@ After you have set up to `develop locally`_, run the following command from the
If you set up your project to `develop locally with docker`_, run the following command: ::
$ docker compose -f local.yml up docs
$ docker compose -f docker-compose.docs.yml up
Navigate to port 9000 on your host to see the documentation. This will be opened automatically at `localhost`_ for local, non-docker development.

33
docs/4-guides/linters.rst Normal file
View File

@ -0,0 +1,33 @@
Linters
=======
.. index:: linters
ruff
------
Ruff is a Python linter and code formatter, written in Rust.
It is a aggregation of flake8, pylint, pyupgrade and many more.
Ruff comes with a linter (``ruff check``) and a formatter (``ruff format``).
The linter is a wrapper around flake8, pylint, and other linters,
and the formatter is a wrapper around black, isort, and other formatters.
To run ruff without modifying your files: ::
$ ruff format --diff .
$ ruff check .
Ruff is capable of fixing most of the problems it encounters.
Be sure you commit first before running `ruff` so you can restore to a savepoint (and amend afterwards to prevent a double commit. : ::
$ ruff format .
$ ruff check --fix .
# be careful with the --unsafe-fixes option, it can break your code
$ ruff check --fix --unsafe-fixes .
The config for ruff is located in pyproject.toml.
On of the most important option is `tool.ruff.lint.select`.
`select` determines which linters are run. In example, `DJ <https://docs.astral.sh/ruff/rules/#flake8-django-dj>`_ refers to flake8-django.
For a full list of available linters, see `https://docs.astral.sh/ruff/rules/ <https://docs.astral.sh/ruff/rules/>`_

View File

@ -19,7 +19,7 @@ You will get a readout of the `users` app that has already been set up with test
If you set up your project to `develop locally with docker`_, run the following command: ::
$ docker compose -f local.yml run --rm django pytest
$ docker compose -f docker-compose.local.yml run --rm django pytest
Targeting particular apps for testing in ``docker`` follows a similar pattern as previously shown above.
@ -36,14 +36,14 @@ Once the tests are complete, in order to see the code coverage, run the followin
If you're running the project locally with Docker, use these commands instead: ::
$ docker compose -f local.yml run --rm django coverage run -m pytest
$ docker compose -f local.yml run --rm django coverage report
$ docker compose -f docker-compose.local.yml run --rm django coverage run -m pytest
$ docker compose -f docker-compose.local.yml run --rm django coverage report
.. note::
At the root of the project folder, you will find the `pytest.ini` file. You can use this to customize_ the ``pytest`` to your liking.
There is also the `.coveragerc`. This is the configuration file for the ``coverage`` tool. You can find out more about `configuring`_ ``coverage``.
The configuration for ``coverage`` can be found in ``pyproject.toml``. You can find out more about `configuring`_ ``coverage``.
.. seealso::

View File

@ -22,6 +22,6 @@ TODO
Why doesn't this follow the layout from Two Scoops of Django?
-------------------------------------------------------------
You may notice that some elements of this project do not exactly match what we describe in chapter 3 of `Two Scoops of Django 1.11`_. The reason for that is this project, amongst other things, serves as a test bed for trying out new ideas and concepts. Sometimes they work, sometimes they don't, but the end result is that it won't necessarily match precisely what is described in the book I co-authored.
You may notice that some elements of this project do not exactly match what we describe in chapter 3 of `Two Scoops of Django 3.x`_. The reason for that is this project, amongst other things, serves as a test bed for trying out new ideas and concepts. Sometimes they work, sometimes they don't, but the end result is that it won't necessarily match precisely what is described in the book I co-authored.
.. _Two Scoops of Django 1.11: https://www.feldroy.com/collections/django/products/two-scoops-of-django-1-11
.. _Two Scoops of Django 3.x: https://www.feldroy.com/two-scoops-press#two-scoops-of-django

View File

@ -8,7 +8,7 @@ Server Error on sign-up/log-in
Make sure you have configured the mail backend (e.g. Mailgun) by adding the API key and sender domain
.. include:: mailgun.rst
.. include:: ../includes/mailgun.rst
.. _docker-postgres-auth-failed:
@ -30,7 +30,7 @@ If you recreate the project multiple times with the same name, Docker would pres
To fix this, you can either:
- Clear your project-related Docker cache with ``docker compose -f local.yml down --volumes --rmi all``.
- Clear your project-related Docker cache with ``docker compose -f docker-compose.local.yml down --volumes --rmi all``.
- Use the Docker volume sub-commands to find volumes (`ls`_) and remove them (`rm`_).
- Use the `prune`_ command to clear system-wide (use with care!).

View File

@ -0,0 +1,3 @@
```{include} ../../CONTRIBUTING.md
```

View File

@ -0,0 +1,104 @@
# Maintainer guide
This document is intended for maintainers of the template.
## Automated updates
We use 2 separate services to keep our dependencies up-to-date:
- Dependabot, which manages updates of Python deps of the template, GitHub actions, npm packages and Docker images.
- PyUp, which manages the Python deps for the generated project.
We don't use Dependabot for the generated project deps because our requirements files are templated, and Dependabot fails to parse them. PyUp is -AFAIK- the only service out there that supports having Jinja tags in the requirements file.
Updates for the template should be labelled as `project infrastructure` while the ones about the generated project should be labelled as `update`. This is use to work in conjunction with our changelog script (see later).
## Automation scripts
We have a few workflows which have been automated over time. They usually run using GitHub actions and might need a few small manual actions to work nicely. Some have a few limitations which we should document here.
### CI
`ci.yml`
The CI workflow tries to cover 2 main aspects of the template:
- Check all combinations to make sure that valid files are generated with no major linting issues. Issues which are fixed by an auto-formatter after generation aren't considered major, and only aim for best effort. This is under the `test` job.
- Run more in-depth tests on a few combinations, by installing dependencies, running type checker and the test suite of the generated project. We try to cover docker (`docker` job) and non-docker (`bare` job) setups.
We also run the deployment checks, but we don't do much more beyond that for testing the production setup.
### Django issue checker
`django-issue-checker.yml`
This workflow runs daily, on schedule, and checks if there is a new major version of Django (not in the pure SemVer sense) released that we are not running, and list our dependencies compatibility.
For example, at time of writing, we use Django 4.2, but the latest version of Django is 5.0, so the workflow created a ["Django 5.0" issue](https://github.com/cookiecutter/cookiecutter-django/issues/4724) in GitHub, with a compatibility table and keeps it up to date every day.
#### Limitations
Here are a few current and past limitations of the script
- When a new dependency is added to the template, the script fails to update an existing issue
- Not sure what happens when a deps is removed
- ~~Unable to parse classifiers without minor version~~
- ~~Creates an issue even if we are on the latest version~~
### Issue manager
`issue-manager.yml`
A workflow that uses [Sebastian Ramirez' issue-manager](https://github.com/tiangolo/issue-manager) to help us automate issue management. The tag line from the repo explains it well:
> Automatically close issues or Pull Requests that have a label, after a custom delay, if no one replies back.
It runs on a schedule as well as when some actions are taken on issues and pull requests.
We wait 10 days before closing issues, and we have a few customised reasons, which are configured in the workflow itself. The config should be fairly self-explanatory.
### Pre-commit auto-update
`pre-commit-autoupdate.yml`
Run daily, to do `pre-commit autoupdate` on the template as well as the generated project, and opens a pull request with the changes.
#### Limitations
- The PR is open as GitHub action which means that CI does NOT run. The documentation for create-pull-request action [explains why](https://github.com/peter-evans/create-pull-request/blob/main/docs/concepts-guidelines.md#triggering-further-workflow-runs).
- Some hooks are also installed as local dependencies (via `requirements/local.txt`), but these are updated separately via PyUP.
### Update changelog
`update-changelog.yml`
Run daily at 2AM to update our changelog and create a GitHub release. This runs a custom script which:
- List all pull requests merged the day before
- The release name is calendar based, so `YYYY.MM.DD`
- For each PR:
- Get the PR title to summarize the change
- Look at the PR labels to classify it in a section of the release notes:
- anything labelled `project infrastructure` is excluded
- label `update` goes in section "Updated"
- label `bug` goes in section "Fixed"
- label `docs` goes in section "Documentation"
- Default to section "Changed"
With that in mind, when merging changes, it's a good idea to set the labels and rename the PR title to give a good summary of the change, in the context of the changelog.
#### Limitations
- Dependabot updates for npm & Docker have a verbose title, try to rename them to be more readable: `Bump webpack-dev-server from 4.15.1 to 5.0.2 in /{{cookiecutter.project_slug}}` -> `Bump webpack-dev-server to 5.0.2`
- ~~Dependencies updates for the template repo (tox, cookiecutter, etc...) don't need to appear in changelog, and need to be labelled as `project infrastructure` manually. By default, they come from PyUp labelled as `update`.~~
### Update contributors
`update-contributors.yml`
Runs on each push to master branch. List the 5 most recently merged pull requests and extract their author. If any of the authors is a new one, updates the `.github/contributors.json`, regenerate the `CONTRIBUTORS.md` from it, and push back the changes to master.
#### Limitations
- If you merge a pull request from a new contributor, and merge another one right after, the push to master will fail as the remote will be out of date.
- If you merge more than 5 pull requests in a row like this, the new contributor might fail to be added.

View File

@ -4,150 +4,30 @@
# You can set these variables from the command line.
SPHINXOPTS =
SPHINXBUILD = sphinx-build
PAPER =
SOURCEDIR = .
BUILDDIR = _build
# Internal variables.
PAPEROPT_a4 = -D latex_paper_size=a4
PAPEROPT_letter = -D latex_paper_size=letter
ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
# the i18n builder cannot share the environment and doctrees with the others
I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext
.PHONY: help clean html livehtml linkcheck
help:
@echo "Please use \`make <target>' where <target> is one of"
@echo " html to make standalone HTML files"
@echo " dirhtml to make HTML files named index.html in directories"
@echo " singlehtml to make a single large HTML file"
@echo " pickle to make pickle files"
@echo " json to make JSON files"
@echo " htmlhelp to make HTML files and a HTML help project"
@echo " qthelp to make HTML files and a qthelp project"
@echo " devhelp to make HTML files and a Devhelp project"
@echo " epub to make an epub"
@echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
@echo " latexpdf to make LaTeX files and run them through pdflatex"
@echo " text to make text files"
@echo " man to make manual pages"
@echo " texinfo to make Texinfo files"
@echo " info to make Texinfo files and run them through makeinfo"
@echo " gettext to make PO message catalogs"
@echo " changes to make an overview of all changed/added/deprecated items"
@echo " linkcheck to check all external links for integrity"
@echo " doctest to run all doctests embedded in the documentation (if enabled)"
@awk '/^#/{c=substr($$0,3);next}c&&/^[[:alpha:]][[:alnum:]_-]+:/{print substr($$1,1,index($$1,":")),c}1{c=0}' $(MAKEFILE_LIST) | column -s: -t
# Clean the build output
clean:
-rm -rf $(BUILDDIR)/*
# Build the HTML docs
html:
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
@echo
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
$(SPHINXBUILD) -b html $(SPHINXOPTS) $(SOURCEDIR) $(BUILDDIR)/html
dirhtml:
$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
@echo
@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
singlehtml:
$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
@echo
@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
pickle:
$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
@echo
@echo "Build finished; now you can process the pickle files."
json:
$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
@echo
@echo "Build finished; now you can process the JSON files."
htmlhelp:
$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
@echo
@echo "Build finished; now you can run HTML Help Workshop with the" \
".hhp project file in $(BUILDDIR)/htmlhelp."
qthelp:
$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
@echo
@echo "Build finished; now you can run "qcollectiongenerator" with the" \
".qhcp project file in $(BUILDDIR)/qthelp, like this:"
@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/{{ cookiecutter.project_slug }}.qhcp"
@echo "To view the help file:"
@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/{{ cookiecutter.project_slug }}.qhc"
devhelp:
$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
@echo
@echo "Build finished."
@echo "To view the help file:"
@echo "# mkdir -p $$HOME/.local/share/devhelp/{{ cookiecutter.project_slug }}"
@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/{{ cookiecutter.project_slug }}"
@echo "# devhelp"
epub:
$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
@echo
@echo "Build finished. The epub file is in $(BUILDDIR)/epub."
latex:
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
@echo
@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
@echo "Run \`make' in that directory to run these through (pdf)latex" \
"(use \`make latexpdf' here to do that automatically)."
latexpdf:
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
@echo "Running LaTeX files through pdflatex..."
$(MAKE) -C $(BUILDDIR)/latex all-pdf
@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
text:
$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
@echo
@echo "Build finished. The text files are in $(BUILDDIR)/text."
man:
$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
@echo
@echo "Build finished. The manual pages are in $(BUILDDIR)/man."
texinfo:
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
@echo
@echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
@echo "Run \`make' in that directory to run these through makeinfo" \
"(use \`make info' here to do that automatically)."
info:
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
@echo "Running Texinfo files through makeinfo..."
make -C $(BUILDDIR)/texinfo info
@echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."
gettext:
$(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
@echo
@echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."
changes:
$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
@echo
@echo "The overview file is in $(BUILDDIR)/changes."
# Build and serve docs with live reload
livehtml:
sphinx-autobuild -b html --port 9000 --watch . -c . $(SOURCEDIR) $(BUILDDIR)/html
# Check all external links for integrity
linkcheck:
$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
$(SPHINXBUILD) -b linkcheck $(SPHINXOPTS) $(SOURCEDIR) $(BUILDDIR)/linkcheck
@echo
@echo "Link check complete; look for any errors in the above output " \
"or in $(BUILDDIR)/linkcheck/output.txt."
doctest:
$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
@echo "Testing of doctests in the sources finished, look at the " \
"results in $(BUILDDIR)/doctest/output.txt."

View File

@ -29,7 +29,10 @@ extensions = ["myst_parser"]
templates_path = ["_templates"]
# The suffix of source filenames.
source_suffix = [".rst", ".md"]
source_suffix = {
".rst": "restructuredtext",
".md": "markdown",
}
# The encoding of source files.
# source_encoding = 'utf-8-sig'
@ -185,7 +188,7 @@ latex_documents = [
"cookiecutter-django Documentation",
"cookiecutter-django",
"manual",
)
),
]
# The name of an image file (relative to this directory) to place at the top of
@ -220,7 +223,7 @@ man_pages = [
"Cookiecutter Django documentation",
["Daniel Roy Greenfeld"],
1,
)
),
]
# If true, show URL addresses after external links.
@ -239,7 +242,7 @@ texinfo_documents = [
"Cookiecutter Django documentation",
"Daniel Roy Greenfeld",
"Cookiecutter Django",
"A Cookiecutter template for creating production-ready " "Django projects quickly.",
"A Cookiecutter template for creating production-ready Django projects quickly.",
"Miscellaneous",
)
]

View File

@ -1,3 +0,0 @@
```{include} ../CONTRIBUTING.md
```

View File

@ -7,27 +7,51 @@ Powered by Cookiecutter_, Cookiecutter Django is a project template for jumpstar
.. _cookiecutter: https://github.com/cookiecutter/cookiecutter
Contents
--------
.. toctree::
:maxdepth: 2
:caption: Getting Started
1-getting-started/project-generation-options
1-getting-started/settings
.. toctree::
:maxdepth: 2
:caption: Local Development
project-generation-options
developing-locally
developing-locally-docker
settings
linters
testing
document
deployment-on-pythonanywhere
deployment-on-heroku
deployment-with-docker
docker-postgres-backups
websocket
faq
troubleshooting
contributing
2-local-development/developing-locally
2-local-development/developing-locally-docker
.. toctree::
:maxdepth: 2
:caption: Deployment
3-deployment/deployment-on-pythonanywhere
3-deployment/deployment-on-heroku
3-deployment/deployment-with-docker
.. toctree::
:maxdepth: 2
:caption: Guides
4-guides/docker-postgres-backups
4-guides/linters
4-guides/testing
4-guides/document
4-guides/websocket
.. toctree::
:maxdepth: 2
:caption: Help
5-help/faq
5-help/troubleshooting
.. toctree::
:maxdepth: 2
:caption: About
6-about/contributing
6-about/maintainer-guide
Indices and tables
------------------

View File

@ -1,43 +0,0 @@
Linters
=======
.. index:: linters
flake8
------
To run flake8: ::
$ flake8
The config for flake8 is located in setup.cfg. It specifies:
* Set max line length to 120 chars
* Exclude ``.tox,.git,*/migrations/*,*/static/CACHE/*,docs,node_modules``
pylint
------
To run pylint: ::
$ pylint <python files that you wish to lint>
The config for pylint is located in .pylintrc. It specifies:
* Use the pylint_django plugin. If using Celery, also use pylint_celery.
* Set max line length to 120 chars
* Disable linting messages for missing docstring and invalid name
* max-parents=13
pycodestyle
-----------
This is included in flake8's checks, but you can also run it separately to see a more detailed report: ::
$ pycodestyle <python files that you wish to lint>
The config for pycodestyle is located in setup.cfg. It specifies:
* Set max line length to 120 chars
* Exclude ``.tox,.git,*/migrations/*,*/static/CACHE/*,docs,node_modules``

View File

@ -5,36 +5,20 @@ REM Command file for Sphinx documentation
if "%SPHINXBUILD%" == "" (
set SPHINXBUILD=sphinx-build
)
set SOURCEDIR=.
set BUILDDIR=_build
set ALLSPHINXOPTS=-d %BUILDDIR%/doctrees %SPHINXOPTS% .
set ALLSPHINXOPTS=-d %BUILDDIR%/doctrees %SPHINXOPTS%
set I18NSPHINXOPTS=%SPHINXOPTS% .
if NOT "%PAPER%" == "" (
set ALLSPHINXOPTS=-D latex_paper_size=%PAPER% %ALLSPHINXOPTS%
set I18NSPHINXOPTS=-D latex_paper_size=%PAPER% %I18NSPHINXOPTS%
)
if "%1" == "" goto help
if "%1" == "help" (
:help
echo.Please use `make ^<target^>` where ^<target^> is one of
echo. clean to clean the build directory
echo. html to make standalone HTML files
echo. dirhtml to make HTML files named index.html in directories
echo. singlehtml to make a single large HTML file
echo. pickle to make pickle files
echo. json to make JSON files
echo. htmlhelp to make HTML files and a HTML help project
echo. qthelp to make HTML files and a qthelp project
echo. devhelp to make HTML files and a Devhelp project
echo. epub to make an epub
echo. latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter
echo. text to make text files
echo. man to make manual pages
echo. texinfo to make Texinfo files
echo. gettext to make PO message catalogs
echo. changes to make an overview over all changed/added/deprecated items
echo. livehtml to build and serve docs with live reload
echo. linkcheck to check all external links for integrity
echo. doctest to run all doctests embedded in the documentation if enabled
goto end
)
@ -45,132 +29,22 @@ if "%1" == "clean" (
)
if "%1" == "html" (
%SPHINXBUILD% -b html %ALLSPHINXOPTS% %BUILDDIR%/html
%SPHINXBUILD% -b html %ALLSPHINXOPTS% %SOURCEDIR% %BUILDDIR%/html
if errorlevel 1 exit /b 1
echo.
echo.Build finished. The HTML pages are in %BUILDDIR%/html.
goto end
)
if "%1" == "dirhtml" (
%SPHINXBUILD% -b dirhtml %ALLSPHINXOPTS% %BUILDDIR%/dirhtml
if "%1" == "livehtml" (
sphinx-autobuild -b html --port 9000 --watch . -c . %SOURCEDIR% %BUILDDIR%/html
%SPHINXBUILD% -b html %ALLSPHINXOPTS% %BUILDDIR%/html
if errorlevel 1 exit /b 1
echo.
echo.Build finished. The HTML pages are in %BUILDDIR%/dirhtml.
goto end
)
if "%1" == "singlehtml" (
%SPHINXBUILD% -b singlehtml %ALLSPHINXOPTS% %BUILDDIR%/singlehtml
if errorlevel 1 exit /b 1
echo.
echo.Build finished. The HTML pages are in %BUILDDIR%/singlehtml.
goto end
)
if "%1" == "pickle" (
%SPHINXBUILD% -b pickle %ALLSPHINXOPTS% %BUILDDIR%/pickle
if errorlevel 1 exit /b 1
echo.
echo.Build finished; now you can process the pickle files.
goto end
)
if "%1" == "json" (
%SPHINXBUILD% -b json %ALLSPHINXOPTS% %BUILDDIR%/json
if errorlevel 1 exit /b 1
echo.
echo.Build finished; now you can process the JSON files.
goto end
)
if "%1" == "htmlhelp" (
%SPHINXBUILD% -b htmlhelp %ALLSPHINXOPTS% %BUILDDIR%/htmlhelp
if errorlevel 1 exit /b 1
echo.
echo.Build finished; now you can run HTML Help Workshop with the ^
.hhp project file in %BUILDDIR%/htmlhelp.
goto end
)
if "%1" == "qthelp" (
%SPHINXBUILD% -b qthelp %ALLSPHINXOPTS% %BUILDDIR%/qthelp
if errorlevel 1 exit /b 1
echo.
echo.Build finished; now you can run "qcollectiongenerator" with the ^
.qhcp project file in %BUILDDIR%/qthelp, like this:
echo.^> qcollectiongenerator %BUILDDIR%\qthelp\{{ cookiecutter.project_slug }}.qhcp
echo.To view the help file:
echo.^> assistant -collectionFile %BUILDDIR%\qthelp\{{ cookiecutter.project_slug }}.ghc
goto end
)
if "%1" == "devhelp" (
%SPHINXBUILD% -b devhelp %ALLSPHINXOPTS% %BUILDDIR%/devhelp
if errorlevel 1 exit /b 1
echo.
echo.Build finished.
goto end
)
if "%1" == "epub" (
%SPHINXBUILD% -b epub %ALLSPHINXOPTS% %BUILDDIR%/epub
if errorlevel 1 exit /b 1
echo.
echo.Build finished. The epub file is in %BUILDDIR%/epub.
goto end
)
if "%1" == "latex" (
%SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex
if errorlevel 1 exit /b 1
echo.
echo.Build finished; the LaTeX files are in %BUILDDIR%/latex.
goto end
)
if "%1" == "text" (
%SPHINXBUILD% -b text %ALLSPHINXOPTS% %BUILDDIR%/text
if errorlevel 1 exit /b 1
echo.
echo.Build finished. The text files are in %BUILDDIR%/text.
goto end
)
if "%1" == "man" (
%SPHINXBUILD% -b man %ALLSPHINXOPTS% %BUILDDIR%/man
if errorlevel 1 exit /b 1
echo.
echo.Build finished. The manual pages are in %BUILDDIR%/man.
goto end
)
if "%1" == "texinfo" (
%SPHINXBUILD% -b texinfo %ALLSPHINXOPTS% %BUILDDIR%/texinfo
if errorlevel 1 exit /b 1
echo.
echo.Build finished. The Texinfo files are in %BUILDDIR%/texinfo.
goto end
)
if "%1" == "gettext" (
%SPHINXBUILD% -b gettext %I18NSPHINXOPTS% %BUILDDIR%/locale
if errorlevel 1 exit /b 1
echo.
echo.Build finished. The message catalogs are in %BUILDDIR%/locale.
goto end
)
if "%1" == "changes" (
%SPHINXBUILD% -b changes %ALLSPHINXOPTS% %BUILDDIR%/changes
if errorlevel 1 exit /b 1
echo.
echo.The overview file is in %BUILDDIR%/changes.
goto end
)
if "%1" == "linkcheck" (
%SPHINXBUILD% -b linkcheck %ALLSPHINXOPTS% %BUILDDIR%/linkcheck
%SPHINXBUILD% -b linkcheck %ALLSPHINXOPTS% %SOURCEDIR% %BUILDDIR%/linkcheck
if errorlevel 1 exit /b 1
echo.
echo.Link check complete; look for any errors in the above output ^
@ -178,13 +52,4 @@ or in %BUILDDIR%/linkcheck/output.txt.
goto end
)
if "%1" == "doctest" (
%SPHINXBUILD% -b doctest %ALLSPHINXOPTS% %BUILDDIR%/doctest
if errorlevel 1 exit /b 1
echo.
echo.Testing of doctests in the sources finished, look at the ^
results in %BUILDDIR%/doctest/output.txt.
goto end
)
:end

View File

@ -1,3 +0,0 @@
sphinx==7.2.6
sphinx-rtd-theme==1.3.0
myst-parser==2.0.0

View File

@ -1,20 +1,8 @@
"""
NOTE:
the below code is to be maintained Python 2.x-compatible
as the whole Cookiecutter Django project initialization
can potentially be run in Python 2.x environment
(at least so we presume in `pre_gen_project.py`).
TODO: restrict Cookiecutter Django project initialization to
Python 3.x environments only
"""
from __future__ import print_function
import json
import os
import random
import shutil
import string
from pathlib import Path
try:
# Inspired by
@ -36,40 +24,28 @@ DEBUG_VALUE = "debug"
def remove_open_source_files():
file_names = ["CONTRIBUTORS.txt", "LICENSE"]
for file_name in file_names:
os.remove(file_name)
Path(file_name).unlink()
def remove_gplv3_files():
file_names = ["COPYING"]
for file_name in file_names:
os.remove(file_name)
Path(file_name).unlink()
def remove_custom_user_manager_files():
os.remove(
os.path.join(
"{{cookiecutter.project_slug}}",
"users",
"managers.py",
)
)
os.remove(
os.path.join(
"{{cookiecutter.project_slug}}",
"users",
"tests",
"test_managers.py",
)
)
users_path = Path("{{cookiecutter.project_slug}}", "users")
(users_path / "managers.py").unlink()
(users_path / "tests" / "test_managers.py").unlink()
def remove_pycharm_files():
idea_dir_path = ".idea"
if os.path.exists(idea_dir_path):
idea_dir_path = Path(".idea")
if idea_dir_path.exists():
shutil.rmtree(idea_dir_path)
docs_dir_path = os.path.join("docs", "pycharm")
if os.path.exists(docs_dir_path):
docs_dir_path = Path("docs", "pycharm")
if docs_dir_path.exists():
shutil.rmtree(docs_dir_path)
@ -77,13 +53,22 @@ def remove_docker_files():
shutil.rmtree(".devcontainer")
shutil.rmtree("compose")
file_names = ["local.yml", "production.yml", ".dockerignore"]
file_names = [
"docker-compose.local.yml",
"docker-compose.production.yml",
".dockerignore",
"justfile",
]
for file_name in file_names:
os.remove(file_name)
Path(file_name).unlink()
if "{{ cookiecutter.editor }}" == "PyCharm":
file_names = ["docker_compose_up_django.xml", "docker_compose_up_docs.xml"]
for file_name in file_names:
os.remove(os.path.join(".idea", "runConfigurations", file_name))
Path(".idea", "runConfigurations", file_name).unlink()
def remove_nginx_docker_files():
shutil.rmtree(Path("compose", "production", "nginx"))
def remove_utility_files():
@ -91,23 +76,23 @@ def remove_utility_files():
def remove_heroku_files():
file_names = ["Procfile", "runtime.txt", "requirements.txt"]
file_names = ["Procfile", "requirements.txt"]
for file_name in file_names:
if file_name == "requirements.txt" and "{{ cookiecutter.ci_tool }}".lower() == "travis":
# don't remove the file if we are using travisci but not using heroku
continue
os.remove(file_name)
Path(file_name).unlink()
shutil.rmtree("bin")
def remove_sass_files():
shutil.rmtree(os.path.join("{{cookiecutter.project_slug}}", "static", "sass"))
shutil.rmtree(Path("{{cookiecutter.project_slug}}", "static", "sass"))
def remove_gulp_files():
file_names = ["gulpfile.js"]
file_names = ["gulpfile.mjs"]
for file_name in file_names:
os.remove(file_name)
Path(file_name).unlink()
def remove_webpack_files():
@ -116,36 +101,30 @@ def remove_webpack_files():
def remove_vendors_js():
vendors_js_path = os.path.join(
"{{ cookiecutter.project_slug }}",
"static",
"js",
"vendors.js",
)
if os.path.exists(vendors_js_path):
os.remove(vendors_js_path)
vendors_js_path = Path("{{ cookiecutter.project_slug }}", "static", "js", "vendors.js")
if vendors_js_path.exists():
vendors_js_path.unlink()
def remove_packagejson_file():
file_names = ["package.json"]
for file_name in file_names:
os.remove(file_name)
Path(file_name).unlink()
def update_package_json(remove_dev_deps=None, remove_keys=None, scripts=None):
remove_dev_deps = remove_dev_deps or []
remove_keys = remove_keys or []
scripts = scripts or {}
with open("package.json", mode="r") as fd:
content = json.load(fd)
package_json = Path("package.json")
content = json.loads(package_json.read_text())
for package_name in remove_dev_deps:
content["devDependencies"].pop(package_name)
for key in remove_keys:
content.pop(key)
content["scripts"].update(scripts)
with open("package.json", mode="w") as fd:
json.dump(content, fd, ensure_ascii=False, indent=2)
fd.write("\n")
updated_content = json.dumps(content, ensure_ascii=False, indent=2) + "\n"
package_json.write_text(updated_content)
def handle_js_runner(choice, use_docker, use_async):
@ -170,7 +149,7 @@ def handle_js_runner(choice, use_docker, use_async):
remove_keys=["babel"],
scripts={
"dev": "gulp",
"build": "gulp generate-assets",
"build": "gulp build",
},
)
remove_webpack_files()
@ -209,8 +188,8 @@ def handle_js_runner(choice, use_docker, use_async):
def remove_prettier_pre_commit():
with open(".pre-commit-config.yaml", "r") as fd:
content = fd.readlines()
pre_commit_yaml = Path(".pre-commit-config.yaml")
content = pre_commit_yaml.read_text().splitlines()
removing = False
new_lines = []
@ -222,35 +201,34 @@ def remove_prettier_pre_commit():
if not removing:
new_lines.append(line)
with open(".pre-commit-config.yaml", "w") as fd:
fd.writelines(new_lines)
pre_commit_yaml.write_text("\n".join(new_lines))
def remove_celery_files():
file_names = [
os.path.join("config", "celery_app.py"),
os.path.join("{{ cookiecutter.project_slug }}", "users", "tasks.py"),
os.path.join("{{ cookiecutter.project_slug }}", "users", "tests", "test_tasks.py"),
file_paths = [
Path("config", "celery_app.py"),
Path("{{ cookiecutter.project_slug }}", "users", "tasks.py"),
Path("{{ cookiecutter.project_slug }}", "users", "tests", "test_tasks.py"),
]
for file_name in file_names:
os.remove(file_name)
for file_path in file_paths:
file_path.unlink()
def remove_async_files():
file_names = [
os.path.join("config", "asgi.py"),
os.path.join("config", "websocket.py"),
file_paths = [
Path("config", "asgi.py"),
Path("config", "websocket.py"),
]
for file_name in file_names:
os.remove(file_name)
for file_path in file_paths:
file_path.unlink()
def remove_dottravisyml_file():
os.remove(".travis.yml")
Path(".travis.yml").unlink()
def remove_dotgitlabciyml_file():
os.remove(".gitlab-ci.yml")
Path(".gitlab-ci.yml").unlink()
def remove_dotgithub_folder():
@ -258,7 +236,7 @@ def remove_dotgithub_folder():
def remove_dotdrone_file():
os.remove(".drone.yml")
Path(".drone.yml").unlink()
def generate_random_string(length, using_digits=False, using_ascii_letters=False, using_punctuation=False):
@ -284,7 +262,7 @@ def generate_random_string(length, using_digits=False, using_ascii_letters=False
return "".join([random.choice(symbols) for _ in range(length)])
def set_flag(file_path, flag, value=None, formatted=None, *args, **kwargs):
def set_flag(file_path: Path, flag, value=None, formatted=None, *args, **kwargs):
if value is None:
random_string = generate_random_string(*args, **kwargs)
if random_string is None:
@ -297,7 +275,7 @@ def set_flag(file_path, flag, value=None, formatted=None, *args, **kwargs):
random_string = formatted.format(random_string)
value = random_string
with open(file_path, "r+") as f:
with file_path.open("r+") as f:
file_contents = f.read().replace(flag, value)
f.seek(0)
f.write(file_contents)
@ -306,7 +284,7 @@ def set_flag(file_path, flag, value=None, formatted=None, *args, **kwargs):
return value
def set_django_secret_key(file_path):
def set_django_secret_key(file_path: Path):
django_secret_key = set_flag(
file_path,
"!!!SET DJANGO_SECRET_KEY!!!",
@ -317,7 +295,7 @@ def set_django_secret_key(file_path):
return django_secret_key
def set_django_admin_url(file_path):
def set_django_admin_url(file_path: Path):
django_admin_url = set_flag(
file_path,
"!!!SET DJANGO_ADMIN_URL!!!",
@ -372,16 +350,16 @@ def set_celery_flower_password(file_path, value=None):
def append_to_gitignore_file(ignored_line):
with open(".gitignore", "a") as gitignore_file:
with Path(".gitignore").open("a") as gitignore_file:
gitignore_file.write(ignored_line)
gitignore_file.write("\n")
def set_flags_in_envs(postgres_user, celery_flower_user, debug=False):
local_django_envs_path = os.path.join(".envs", ".local", ".django")
production_django_envs_path = os.path.join(".envs", ".production", ".django")
local_postgres_envs_path = os.path.join(".envs", ".local", ".postgres")
production_postgres_envs_path = os.path.join(".envs", ".production", ".postgres")
local_django_envs_path = Path(".envs", ".local", ".django")
production_django_envs_path = Path(".envs", ".production", ".django")
local_postgres_envs_path = Path(".envs", ".local", ".postgres")
production_postgres_envs_path = Path(".envs", ".production", ".postgres")
set_django_secret_key(production_django_envs_path)
set_django_admin_url(production_django_envs_path)
@ -398,39 +376,33 @@ def set_flags_in_envs(postgres_user, celery_flower_user, debug=False):
def set_flags_in_settings_files():
set_django_secret_key(os.path.join("config", "settings", "local.py"))
set_django_secret_key(os.path.join("config", "settings", "test.py"))
set_django_secret_key(Path("config", "settings", "local.py"))
set_django_secret_key(Path("config", "settings", "test.py"))
def remove_envs_and_associated_files():
shutil.rmtree(".envs")
os.remove("merge_production_dotenvs_in_dotenv.py")
Path("merge_production_dotenvs_in_dotenv.py").unlink()
shutil.rmtree("tests")
def remove_celery_compose_dirs():
shutil.rmtree(os.path.join("compose", "local", "django", "celery"))
shutil.rmtree(os.path.join("compose", "production", "django", "celery"))
shutil.rmtree(Path("compose", "local", "django", "celery"))
shutil.rmtree(Path("compose", "production", "django", "celery"))
def remove_node_dockerfile():
shutil.rmtree(os.path.join("compose", "local", "node"))
shutil.rmtree(Path("compose", "local", "node"))
def remove_aws_dockerfile():
shutil.rmtree(os.path.join("compose", "production", "aws"))
shutil.rmtree(Path("compose", "production", "aws"))
def remove_drf_starter_files():
os.remove(os.path.join("config", "api_router.py"))
shutil.rmtree(os.path.join("{{cookiecutter.project_slug}}", "users", "api"))
os.remove(os.path.join("{{cookiecutter.project_slug}}", "users", "tests", "test_drf_urls.py"))
os.remove(os.path.join("{{cookiecutter.project_slug}}", "users", "tests", "test_drf_views.py"))
os.remove(os.path.join("{{cookiecutter.project_slug}}", "users", "tests", "test_swagger.py"))
def remove_storages_module():
os.remove(os.path.join("{{cookiecutter.project_slug}}", "utils", "storages.py"))
Path("config", "api_router.py").unlink()
shutil.rmtree(Path("{{cookiecutter.project_slug}}", "users", "api"))
shutil.rmtree(Path("{{cookiecutter.project_slug}}", "users", "tests", "api"))
def main():
@ -456,6 +428,8 @@ def main():
if "{{ cookiecutter.use_docker }}".lower() == "y":
remove_utility_files()
if "{{ cookiecutter.cloud_provider }}".lower() != "none":
remove_nginx_docker_files()
else:
remove_docker_files()
@ -499,7 +473,6 @@ def main():
WARNING + "You chose to not use any cloud providers nor Docker, "
"media files won't be served in production." + TERMINATOR
)
remove_storages_module()
if "{{ cookiecutter.use_celery }}".lower() == "n":
remove_celery_files()

View File

@ -1,14 +1,3 @@
"""
NOTE:
the below code is to be maintained Python 2.x-compatible
as the whole Cookiecutter Django project initialization
can potentially be run in Python 2.x environment.
TODO: restrict Cookiecutter Django project initialization
to Python 3.x environments only
"""
from __future__ import print_function
import sys
TERMINATOR = "\x1b[0m"
@ -33,36 +22,10 @@ assert project_slug == project_slug.lower(), "'{}' project slug should be all lo
assert "\\" not in "{{ cookiecutter.author_name }}", "Don't include backslashes in author name."
if "{{ cookiecutter.use_docker }}".lower() == "n":
python_major_version = sys.version_info[0]
if python_major_version == 2:
print(
WARNING + "You're running cookiecutter under Python 2, but the generated "
"project requires Python 3.11+. Do you want to proceed (y/n)? " + TERMINATOR
)
yes_options, no_options = frozenset(["y"]), frozenset(["n"])
while True:
choice = raw_input().lower() # noqa: F821
if choice in yes_options:
break
elif choice in no_options:
print(INFO + "Generation process stopped as requested." + TERMINATOR)
sys.exit(1)
else:
print(
HINT
+ "Please respond with {} or {}: ".format(
", ".join(["'{}'".format(o) for o in yes_options if not o == ""]),
", ".join(["'{}'".format(o) for o in no_options if not o == ""]),
)
+ TERMINATOR
)
if "{{ cookiecutter.use_whitenoise }}".lower() == "n" and "{{ cookiecutter.cloud_provider }}" == "None":
print("You should either use Whitenoise or select a " "Cloud Provider to serve static files")
print("You should either use Whitenoise or select a Cloud Provider to serve static files")
sys.exit(1)
if "{{ cookiecutter.mail_service }}" == "Amazon SES" and "{{ cookiecutter.cloud_provider }}" != "AWS":
print("You should either use AWS or select a different " "Mail Service for sending emails.")
print("You should either use AWS or select a different Mail Service for sending emails.")
sys.exit(1)

View File

@ -1,35 +1,99 @@
# ==== pytest ====
[tool.pytest.ini_options]
addopts = "-v --tb=short"
norecursedirs = [
".tox",
".git",
"*/migrations/*",
"*/static/*",
"docs",
"venv",
"*/{{cookiecutter.project_slug}}/*",
[project]
name = "cookiecutter-django"
version = "2025.04.08"
description = "A Cookiecutter template for creating production-ready Django projects quickly."
readme = "README.md"
keywords = [
"cookiecutter",
"django",
"project template",
"scaffolding",
"skeleton",
]
license = { text = "BSD" }
authors = [
{ name = "Daniel Roy Greenfeld", email = "pydanny@gmail.com" },
]
requires-python = ">=3.12,<3.13"
classifiers = [
"Development Status :: 4 - Beta",
"Environment :: Console",
"Framework :: Django :: 5.0",
"Intended Audience :: Developers",
"License :: OSI Approved :: BSD License",
"Natural Language :: English",
"Programming Language :: Python",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: Implementation :: CPython",
"Topic :: Software Development",
]
dependencies = [
"binaryornot==0.4.4",
"cookiecutter==2.6",
"django-upgrade==1.22.2",
"djlint==1.36.4",
"gitpython==3.1.43",
"jinja2==3.1.5",
"pre-commit==4.1.0",
"pygithub==2.5",
"pytest==8.3.4",
"pytest-cookies==0.7",
"pytest-instafail==0.5",
"pytest-xdist==3.6.1",
"pyyaml==6.0.2",
"requests==2.32.3",
"ruff==0.11.4",
"sh==2.1; sys_platform!='win23'",
"tox==4.23.2",
"tox-uv>=1.17",
]
urls = { Repository = "https://github.com/cookiecutter/cookiecutter-django" }
[dependency-groups]
docs = [
"myst-parser>=4",
"sphinx>=8.0.2",
"sphinx-autobuild>=2024.10.3",
"sphinx-rtd-theme>=3",
]
# ==== black ====
[tool.black]
line-length = 119
target-version = ['py311']
target-version = [
'py312',
]
# ==== isort ====
[tool.isort]
profile = "black"
line_length = 119
known_first_party = [
"tests",
"scripts",
"hooks",
"tests",
"scripts",
"hooks",
]
[tool.pyproject-fmt]
keep_full_version = true
# ==== pytest ====
[tool.pytest.ini_options]
addopts = "-v --tb=short"
norecursedirs = [
".tox",
".git",
"*/migrations/*",
"*/static/*",
"docs",
"venv",
"*/{{cookiecutter.project_slug}}/*",
]
# ==== djLint ====
[tool.djlint]
blank_line_after_tag = "load,extends"
close_void_tags = true

View File

@ -1,28 +0,0 @@
cookiecutter==2.4.0
sh==2.0.6; sys_platform != "win32"
binaryornot==0.4.4
# Code quality
# ------------------------------------------------------------------------------
black==23.9.1
isort==5.12.0
flake8==6.1.0
django-upgrade==1.15.0
djlint==1.34.0
pre-commit==3.4.0
# Testing
# ------------------------------------------------------------------------------
tox==4.11.3
pytest==7.4.2
pytest-xdist==3.3.1
pytest-cookies==0.7.0
pytest-instafail==0.5.0
pyyaml==6.0.1
# Scripting
# ------------------------------------------------------------------------------
PyGithub==2.1.0.post0
gitpython==3.1.37
jinja2==3.1.2
requests==2.31.0

View File

@ -6,12 +6,12 @@ patches, only comparing major and minor version numbers.
This script handles when there are multiple Django versions that need
to keep up to date.
"""
from __future__ import annotations
import os
import re
import sys
from collections.abc import Iterable
from pathlib import Path
from typing import TYPE_CHECKING, Any, NamedTuple
@ -19,6 +19,8 @@ import requests
from github import Github
if TYPE_CHECKING:
from collections.abc import Iterable
from github.Issue import Issue
CURRENT_FILE = Path(__file__)
@ -82,7 +84,7 @@ def get_name_and_version(requirements_line: str) -> tuple[str, ...]:
def get_all_latest_django_versions(
django_max_version: tuple[DjVersion] = None,
django_max_version: tuple[DjVersion] | None = None,
) -> tuple[DjVersion, list[DjVersion]]:
"""
Grabs all Django versions that are worthy of a GitHub issue.
@ -212,7 +214,7 @@ class GitHubManager:
for classifier in package_info["info"]["classifiers"]:
# Usually in the form of "Framework :: Django :: 3.2"
tokens = classifier.split(" ")
if len(tokens) >= 5 and tokens[2].lower() == "django":
if len(tokens) >= 5 and tokens[2].lower() == "django" and "." in tokens[4]:
version = DjVersion.parse(tokens[4])
if len(version) == 2:
supported_dj_versions.append(version)
@ -220,8 +222,7 @@ class GitHubManager:
if supported_dj_versions:
if any(v >= needed_dj_version for v in supported_dj_versions):
return package_info["info"]["version"], ""
else:
return "", ""
return "", ""
# Django classifier DNE; assume it isn't a Django lib
# Great exceptions include pylint-django, where we need to do this manually...

69
scripts/node_version.py Normal file
View File

@ -0,0 +1,69 @@
from __future__ import annotations
import json
from pathlib import Path
ROOT = Path(__file__).parent.parent
TEMPLATED_ROOT = ROOT / "{{cookiecutter.project_slug}}"
DOCKERFILE = TEMPLATED_ROOT / "compose" / "local" / "node" / "Dockerfile"
PROD_DOCKERFILE = TEMPLATED_ROOT / "compose" / "production" / "django" / "Dockerfile"
PACKAGE_JSON = TEMPLATED_ROOT / "package.json"
CI_YML = ROOT / ".github" / "workflows" / "ci.yml"
def main() -> None:
new_version = get_version_from_dockerfile()
old_version = get_version_from_package_json()
if old_version != new_version:
update_package_json_version(old_version, new_version)
update_ci_node_version(old_version, new_version)
update_production_node_version(old_version, new_version)
def get_version_from_dockerfile() -> str:
# Extract version out of base image name:
# FROM docker.io/node:22.13-bookworm-slim
# -> 22.13
with DOCKERFILE.open("r") as f:
for line in f:
if "FROM docker.io/node:" in line:
_, _, docker_tag = line.partition(":")
version_str, _, _ = docker_tag.partition("-")
return version_str
raise RuntimeError("Could not find version in Dockerfile")
def get_version_from_package_json() -> str:
package_json = json.loads(PACKAGE_JSON.read_text())
return package_json["engines"]["node"]
def update_package_json_version(old_version: str, new_version: str) -> None:
package_json_text = PACKAGE_JSON.read_text()
package_json_text = package_json_text.replace(
f'"node": "{old_version}"',
f'"node": "{new_version}"',
)
PACKAGE_JSON.write_text(package_json_text)
def update_ci_node_version(old_version: str, new_version: str) -> None:
yml_content = CI_YML.read_text()
yml_content = yml_content.replace(
f'node-version: "{old_version}"',
f'node-version: "{new_version}"',
)
CI_YML.write_text(yml_content)
def update_production_node_version(old_version: str, new_version: str) -> None:
dockerfile_content = PROD_DOCKERFILE.read_text()
dockerfile_content = dockerfile_content.replace(
f"FROM docker.io/node:{old_version}",
f"FROM docker.io/node:{new_version}",
)
PROD_DOCKERFILE.write_text(dockerfile_content)
if __name__ == "__main__":
main()

56
scripts/ruff_version.py Normal file
View File

@ -0,0 +1,56 @@
from __future__ import annotations
import subprocess
import tomllib
from pathlib import Path
ROOT = Path(__file__).parent.parent
TEMPLATED_ROOT = ROOT / "{{cookiecutter.project_slug}}"
REQUIREMENTS_LOCAL_TXT = TEMPLATED_ROOT / "requirements" / "local.txt"
PRE_COMMIT_CONFIG = TEMPLATED_ROOT / ".pre-commit-config.yaml"
PYPROJECT_TOML = ROOT / "pyproject.toml"
def main() -> None:
new_version = get_requirements_txt_version()
old_version = get_pyproject_toml_version()
if old_version == new_version:
return
update_ruff_version(old_version, new_version)
subprocess.run(["uv", "lock", "--no-upgrade"], cwd=ROOT)
def get_requirements_txt_version() -> str:
content = REQUIREMENTS_LOCAL_TXT.read_text()
for line in content.split("\n"):
if line.startswith("ruff"):
return line.split(" ")[0].split("==")[1]
raise RuntimeError("Could not find ruff version in requirements/local.txt")
def get_pyproject_toml_version() -> str:
data = tomllib.loads(PYPROJECT_TOML.read_text())
for dependency in data["project"]["dependencies"]:
if dependency.startswith("ruff=="):
return dependency.split("==")[1]
raise RuntimeError("Could not find ruff version in pyproject.toml")
def update_ruff_version(old_version: str, new_version: str) -> None:
# Update pyproject.toml
new_content = PYPROJECT_TOML.read_text().replace(
f"ruff=={old_version}",
f"ruff=={new_version}",
)
PYPROJECT_TOML.write_text(new_content)
# Update pre-commit config
new_content = PRE_COMMIT_CONFIG.read_text().replace(
f"repo: https://github.com/astral-sh/ruff-pre-commit\n rev: v{old_version}",
f"repo: https://github.com/astral-sh/ruff-pre-commit\n rev: v{new_version}",
)
PRE_COMMIT_CONFIG.write_text(new_content)
if __name__ == "__main__":
main()

View File

@ -1,6 +1,7 @@
import datetime as dt
import os
import re
import subprocess
from collections.abc import Iterable
from pathlib import Path
@ -32,6 +33,9 @@ def main() -> None:
# Group pull requests by type of change
grouped_pulls = group_pulls_by_change_type(merged_pulls)
if not any(grouped_pulls.values()):
print("Pull requests merged aren't worth a changelog mention.")
return
# Generate portion of markdown
release_changes_summary = generate_md(grouped_pulls)
@ -44,12 +48,16 @@ def main() -> None:
print(f"Wrote {changelog_path}")
# Update version
setup_py_path = ROOT / "setup.py"
setup_py_path = ROOT / "pyproject.toml"
update_version(setup_py_path, release)
print(f"Updated version in {setup_py_path}")
# Run uv lock
uv_lock_path = ROOT / "uv.lock"
subprocess.run(["uv", "lock", "--no-upgrade"], cwd=ROOT)
# Commit changes, create tag and push
update_git_repo([changelog_path, setup_py_path], release)
update_git_repo([changelog_path, setup_py_path, uv_lock_path], release)
# Create GitHub release
github_release = repo.create_git_release(
@ -121,7 +129,7 @@ def write_changelog(file_path: Path, release: str, content: 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()
updated_content = re.sub(
r'\nversion = "\d+\.\d+\.\d+"\n',

View File

@ -40,8 +40,8 @@ def iter_recent_authors():
"""
Fetch users who opened recently merged pull requests.
Use Github API to fetch recent authors rather than
git CLI to work with Github usernames.
Use GitHub API to fetch recent authors rather than
git CLI to work with GitHub usernames.
"""
repo = Github(login_or_token=GITHUB_TOKEN, per_page=5).get_repo(GITHUB_REPO)
recent_pulls = repo.get_pulls(state="closed", sort="updated", direction="desc").get_page(0)

View File

@ -1,41 +0,0 @@
#!/usr/bin/env python
try:
from setuptools import setup
except ImportError:
from distutils.core import setup
# We use calendar versioning
version = "2023.09.29"
with open("README.md") as readme_file:
long_description = readme_file.read()
setup(
name="cookiecutter-django",
version=version,
description=("A Cookiecutter template for creating production-ready " "Django projects quickly."),
long_description=long_description,
author="Daniel Roy Greenfeld",
author_email="pydanny@gmail.com",
url="https://github.com/cookiecutter/cookiecutter-django",
packages=[],
license="BSD",
zip_safe=False,
classifiers=[
"Development Status :: 4 - Beta",
"Environment :: Console",
"Framework :: Django :: 4.2",
"Intended Audience :: Developers",
"Natural Language :: English",
"License :: OSI Approved :: BSD License",
"Programming Language :: Python",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: Implementation :: CPython",
"Topic :: Software Development",
],
keywords=(
"cookiecutter, Python, projects, project templates, django, "
"skeleton, scaffolding, project directory, setup.py"
),
)

View File

@ -11,7 +11,7 @@ mkdir -p .cache/bare
cd .cache/bare
# create the project using the default settings in cookiecutter.json
cookiecutter ../../ --no-input --overwrite-if-exists use_docker=n "$@"
uv run cookiecutter ../../ --no-input --overwrite-if-exists use_docker=n "$@"
cd my_awesome_project
# Install OS deps

View File

@ -2,6 +2,8 @@ import glob
import os
import re
import sys
from collections.abc import Iterable
from pathlib import Path
import pytest
@ -57,12 +59,10 @@ SUPPORTED_COMBINATIONS = [
{"editor": "VS Code"},
{"use_docker": "y"},
{"use_docker": "n"},
{"postgresql_version": "16"},
{"postgresql_version": "15"},
{"postgresql_version": "14"},
{"postgresql_version": "13"},
{"postgresql_version": "12"},
{"postgresql_version": "11"},
{"postgresql_version": "10"},
{"cloud_provider": "AWS", "use_whitenoise": "y"},
{"cloud_provider": "AWS", "use_whitenoise": "n"},
{"cloud_provider": "GCP", "use_whitenoise": "y"},
@ -74,7 +74,7 @@ SUPPORTED_COMBINATIONS = [
{"cloud_provider": "None", "use_whitenoise": "y", "mail_service": "Mandrill"},
{"cloud_provider": "None", "use_whitenoise": "y", "mail_service": "Postmark"},
{"cloud_provider": "None", "use_whitenoise": "y", "mail_service": "Sendgrid"},
{"cloud_provider": "None", "use_whitenoise": "y", "mail_service": "SendinBlue"},
{"cloud_provider": "None", "use_whitenoise": "y", "mail_service": "Brevo"},
{"cloud_provider": "None", "use_whitenoise": "y", "mail_service": "SparkPost"},
{"cloud_provider": "None", "use_whitenoise": "y", "mail_service": "Other SMTP"},
# Note: cloud_provider=None AND use_whitenoise=n is not supported
@ -84,7 +84,7 @@ SUPPORTED_COMBINATIONS = [
{"cloud_provider": "AWS", "mail_service": "Mandrill"},
{"cloud_provider": "AWS", "mail_service": "Postmark"},
{"cloud_provider": "AWS", "mail_service": "Sendgrid"},
{"cloud_provider": "AWS", "mail_service": "SendinBlue"},
{"cloud_provider": "AWS", "mail_service": "Brevo"},
{"cloud_provider": "AWS", "mail_service": "SparkPost"},
{"cloud_provider": "AWS", "mail_service": "Other SMTP"},
{"cloud_provider": "GCP", "mail_service": "Mailgun"},
@ -92,7 +92,7 @@ SUPPORTED_COMBINATIONS = [
{"cloud_provider": "GCP", "mail_service": "Mandrill"},
{"cloud_provider": "GCP", "mail_service": "Postmark"},
{"cloud_provider": "GCP", "mail_service": "Sendgrid"},
{"cloud_provider": "GCP", "mail_service": "SendinBlue"},
{"cloud_provider": "GCP", "mail_service": "Brevo"},
{"cloud_provider": "GCP", "mail_service": "SparkPost"},
{"cloud_provider": "GCP", "mail_service": "Other SMTP"},
{"cloud_provider": "Azure", "mail_service": "Mailgun"},
@ -100,7 +100,7 @@ SUPPORTED_COMBINATIONS = [
{"cloud_provider": "Azure", "mail_service": "Mandrill"},
{"cloud_provider": "Azure", "mail_service": "Postmark"},
{"cloud_provider": "Azure", "mail_service": "Sendgrid"},
{"cloud_provider": "Azure", "mail_service": "SendinBlue"},
{"cloud_provider": "Azure", "mail_service": "Brevo"},
{"cloud_provider": "Azure", "mail_service": "SparkPost"},
{"cloud_provider": "Azure", "mail_service": "Other SMTP"},
# Note: cloud_providers GCP, Azure, and None
@ -147,19 +147,19 @@ def _fixture_id(ctx):
return "-".join(f"{key}:{value}" for key, value in ctx.items())
def build_files_list(base_dir):
def build_files_list(base_path: Path):
"""Build a list containing absolute paths to the generated files."""
return [os.path.join(dirpath, file_path) for dirpath, subdirs, files in os.walk(base_dir) for file_path in files]
return [dirpath / file_path for dirpath, subdirs, files in base_path.walk() for file_path in files]
def check_paths(paths):
def check_paths(paths: Iterable[Path]):
"""Method to check all paths have correct substitutions."""
# Assert that no match is found in any of the files
for path in paths:
if is_binary(path):
if is_binary(str(path)):
continue
for line in open(path):
for line in path.open():
match = RE_OBJ.search(line)
assert match is None, f"cookiecutter variable not replaced in {path}"
@ -174,34 +174,31 @@ def test_project_generation(cookies, context, context_override):
assert result.project_path.name == context["project_slug"]
assert result.project_path.is_dir()
paths = build_files_list(str(result.project_path))
paths = build_files_list(result.project_path)
assert paths
check_paths(paths)
@pytest.mark.parametrize("context_override", SUPPORTED_COMBINATIONS, ids=_fixture_id)
def test_flake8_passes(cookies, context_override):
"""Generated project should pass flake8."""
def test_ruff_check_passes(cookies, context_override):
"""Generated project should pass ruff check."""
result = cookies.bake(extra_context=context_override)
try:
sh.flake8(_cwd=str(result.project_path))
sh.ruff("check", ".", _cwd=str(result.project_path))
except sh.ErrorReturnCode as e:
pytest.fail(e.stdout.decode())
@auto_fixable
@pytest.mark.parametrize("context_override", SUPPORTED_COMBINATIONS, ids=_fixture_id)
def test_black_passes(cookies, context_override):
"""Check whether generated project passes black style."""
def test_ruff_format_passes(cookies, context_override):
"""Check whether generated project passes ruff format."""
result = cookies.bake(extra_context=context_override)
try:
sh.black(
"--check",
"--diff",
"--exclude",
"migrations",
sh.ruff(
"format",
".",
_cwd=str(result.project_path),
)
@ -234,7 +231,7 @@ def test_django_upgrade_passes(cookies, context_override):
try:
sh.django_upgrade(
"--target-version",
"4.2",
"5.0",
*python_files,
_cwd=str(result.project_path),
)
@ -251,7 +248,13 @@ def test_djlint_lint_passes(cookies, context_override):
# TODO: remove T002 when fixed https://github.com/Riverside-Healthcare/djLint/issues/687
ignored_rules = "H006,H030,H031,T002"
try:
sh.djlint("--lint", "--ignore", f"{autofixable_rules},{ignored_rules}", ".", _cwd=str(result.project_path))
sh.djlint(
"--lint",
"--ignore",
f"{autofixable_rules},{ignored_rules}",
".",
_cwd=str(result.project_path),
)
except sh.ErrorReturnCode as e:
pytest.fail(e.stdout.decode())
@ -269,10 +272,10 @@ def test_djlint_check_passes(cookies, context_override):
@pytest.mark.parametrize(
["use_docker", "expected_test_script"],
("use_docker", "expected_test_script"),
[
("n", "pytest"),
("y", "docker compose -f local.yml run django pytest"),
("y", "docker compose -f docker-compose.local.yml run django pytest"),
],
)
def test_travis_invokes_pytest(cookies, context, use_docker, expected_test_script):
@ -284,20 +287,20 @@ def test_travis_invokes_pytest(cookies, context, use_docker, expected_test_scrip
assert result.project_path.name == context["project_slug"]
assert result.project_path.is_dir()
with open(f"{result.project_path}/.travis.yml") as travis_yml:
with (result.project_path / ".travis.yml").open() as travis_yml:
try:
yml = yaml.safe_load(travis_yml)["jobs"]["include"]
assert yml[0]["script"] == ["flake8"]
assert yml[0]["script"] == ["ruff check ."]
assert yml[1]["script"] == [expected_test_script]
except yaml.YAMLError as e:
pytest.fail(str(e))
@pytest.mark.parametrize(
["use_docker", "expected_test_script"],
("use_docker", "expected_test_script"),
[
("n", "pytest"),
("y", "docker compose -f local.yml run django pytest"),
("y", "docker compose -f docker-compose.local.yml run django pytest"),
],
)
def test_gitlab_invokes_precommit_and_pytest(cookies, context, use_docker, expected_test_script):
@ -309,11 +312,11 @@ def test_gitlab_invokes_precommit_and_pytest(cookies, context, use_docker, expec
assert result.project_path.name == context["project_slug"]
assert result.project_path.is_dir()
with open(f"{result.project_path}/.gitlab-ci.yml") as gitlab_yml:
with (result.project_path / ".gitlab-ci.yml").open() as gitlab_yml:
try:
gitlab_config = yaml.safe_load(gitlab_yml)
assert gitlab_config["precommit"]["script"] == [
"pre-commit run --show-diff-on-failure --color=always --all-files"
"pre-commit run --show-diff-on-failure --color=always --all-files",
]
assert gitlab_config["pytest"]["script"] == [expected_test_script]
except yaml.YAMLError as e:
@ -321,10 +324,10 @@ def test_gitlab_invokes_precommit_and_pytest(cookies, context, use_docker, expec
@pytest.mark.parametrize(
["use_docker", "expected_test_script"],
("use_docker", "expected_test_script"),
[
("n", "pytest"),
("y", "docker compose -f local.yml run django pytest"),
("y", "docker compose -f docker-compose.local.yml run django pytest"),
],
)
def test_github_invokes_linter_and_pytest(cookies, context, use_docker, expected_test_script):
@ -336,7 +339,7 @@ def test_github_invokes_linter_and_pytest(cookies, context, use_docker, expected
assert result.project_path.name == context["project_slug"]
assert result.project_path.is_dir()
with open(f"{result.project_path}/.github/workflows/ci.yml") as github_yml:
with (result.project_path / ".github" / "workflows" / "ci.yml").open() as github_yml:
try:
github_config = yaml.safe_load(github_yml)
linter_present = False
@ -376,7 +379,7 @@ def test_error_if_incompatible(cookies, context, invalid_context):
@pytest.mark.parametrize(
["editor", "pycharm_docs_exist"],
("editor", "pycharm_docs_exist"),
[
("None", False),
("PyCharm", True),
@ -387,9 +390,9 @@ def test_pycharm_docs_removed(cookies, context, editor, pycharm_docs_exist):
context.update({"editor": editor})
result = cookies.bake(extra_context=context)
with open(f"{result.project_path}/docs/index.rst") as f:
has_pycharm_docs = "pycharm/configuration" in f.read()
assert has_pycharm_docs is pycharm_docs_exist
index_rst = result.project_path / "docs" / "index.rst"
has_pycharm_docs = "pycharm/configuration" in index_rst.read_text()
assert has_pycharm_docs is pycharm_docs_exist
def test_trim_domain_email(cookies, context):
@ -399,7 +402,7 @@ def test_trim_domain_email(cookies, context):
"use_docker": "y",
"domain_name": " example.com ",
"email": " me@example.com ",
}
},
)
result = cookies.bake(extra_context=context)

View File

@ -11,32 +11,41 @@ mkdir -p .cache/docker
cd .cache/docker
# create the project using the default settings in cookiecutter.json
cookiecutter ../../ --no-input --overwrite-if-exists use_docker=y "$@"
uv run cookiecutter ../../ --no-input --overwrite-if-exists use_docker=y "$@"
cd my_awesome_project
# make sure all images build
docker compose -f local.yml build
docker compose -f docker-compose.local.yml build
# run the project's type checks
docker compose -f local.yml run django mypy my_awesome_project
docker compose -f docker-compose.local.yml run --rm django mypy my_awesome_project
# run the project's tests
docker compose -f local.yml run django pytest
docker compose -f docker-compose.local.yml run --rm django pytest
# return non-zero status code if there are migrations that have not been created
docker compose -f local.yml run django python manage.py makemigrations --dry-run --check || { echo "ERROR: there were changes in the models, but migration listed above have not been created and are not saved in version control"; exit 1; }
docker compose -f docker-compose.local.yml run --rm django python manage.py makemigrations --check || { echo "ERROR: there were changes in the models, but migration listed above have not been created and are not saved in version control"; exit 1; }
# Test support for translations
docker compose -f local.yml run django python manage.py makemessages --all
docker compose -f docker-compose.local.yml run --rm django python manage.py makemessages --all
# Make sure the check doesn't raise any warnings
docker compose -f local.yml run django python manage.py check --fail-level WARNING
docker compose -f docker-compose.local.yml run --rm \
-e DJANGO_SECRET_KEY="$(openssl rand -base64 64)" \
-e REDIS_URL=redis://redis:6379/0 \
-e DJANGO_AWS_ACCESS_KEY_ID=x \
-e DJANGO_AWS_SECRET_ACCESS_KEY=x \
-e DJANGO_AWS_STORAGE_BUCKET_NAME=x \
-e DJANGO_ADMIN_URL=x \
-e MAILGUN_API_KEY=x \
-e MAILGUN_DOMAIN=x \
django python manage.py check --settings=config.settings.production --deploy --database default --fail-level WARNING
# Generate the HTML for the documentation
docker compose -f local.yml run docs make html
docker compose -f docker-compose.docs.yml run --rm docs make html
# Run npm build script if package.json is present
if [ -f "package.json" ]
then
docker compose -f local.yml run node npm run build
docker compose -f docker-compose.local.yml run --rm node npm run build
fi

View File

@ -1,4 +1,5 @@
"""Unit tests for the hooks"""
import os
from pathlib import Path
@ -7,7 +8,7 @@ import pytest
from hooks.post_gen_project import append_to_gitignore_file
@pytest.fixture()
@pytest.fixture
def working_directory(tmp_path):
prev_cwd = Path.cwd()
os.chdir(tmp_path)

View File

@ -1,12 +1,11 @@
[tox]
skipsdist = true
envlist = py311,black-template
envlist = py312,black-template
[testenv]
deps = -rrequirements.txt
passenv = AUTOFIXABLE_STYLES
commands = pytest -n auto {posargs:./tests}
[testenv:black-template]
deps = black
commands = black --check hooks tests setup.py docs scripts
commands = black --check hooks tests docs scripts

1240
uv.lock Normal file

File diff suppressed because it is too large Load Diff

View File

@ -2,7 +2,7 @@
{
"name": "{{cookiecutter.project_slug}}_dev",
"dockerComposeFile": [
"../local.yml"
"../docker-compose.local.yml"
],
"init": true,
"mounts": [
@ -11,11 +11,6 @@
"target": "/home/dev-user/.bash_history",
"type": "bind"
},
{
"source": "/tmp",
"target": "/tmp",
"type": "bind"
},
{
"source": "~/.ssh",
"target": "/home/dev-user/.ssh",
@ -40,24 +35,13 @@
"analysis.typeCheckingMode": "basic",
"defaultInterpreterPath": "/usr/local/bin/python",
"editor.codeActionsOnSave": {
"source.organizeImports": true
"source.organizeImports": "always"
},
// Uncomment when fixed
// https://github.com/microsoft/vscode-remote-release/issues/8474
// "editor.defaultFormatter": "ms-python.black-formatter",
"formatting.blackPath": "/usr/local/bin/black",
"formatting.provider": "black",
"editor.defaultFormatter": "charliermarsh.ruff",
"languageServer": "Pylance",
// "linting.banditPath": "/usr/local/py-utils/bin/bandit",
"linting.enabled": true,
"linting.flake8Enabled": true,
"linting.flake8Path": "/usr/local/bin/flake8",
"linting.mypyEnabled": true,
"linting.mypyPath": "/usr/local/bin/mypy",
"linting.pycodestylePath": "/usr/local/bin/pycodestyle",
// "linting.pydocstylePath": "/usr/local/py-utils/bin/pydocstyle",
"linting.pylintEnabled": true,
"linting.pylintPath": "/usr/local/bin/pylint"
}
},
// https://code.visualstudio.com/docs/remote/devcontainerjson-reference#_vs-code-specific-properties
@ -70,8 +54,7 @@
// python
"ms-python.python",
"ms-python.vscode-pylance",
"ms-python.isort",
"ms-python.black-formatter",
"charliermarsh.ruff",
// django
"batisteo.vscode-django"
]

View File

@ -7,13 +7,13 @@ environment:
POSTGRES_DB: 'test_{{ cookiecutter.project_slug }}'
POSTGRES_HOST_AUTH_METHOD: trust
{%- if cookiecutter.use_celery == 'y' %}
CELERY_BROKER_URL: 'redis://redis:6379/0'
REDIS_URL: 'redis://redis:6379/0'
{%- endif %}
steps:
- name: lint
pull: if-not-exists
image: python:3.11
image: python:3.12
environment:
PRE_COMMIT_HOME: ${CI_PROJECT_DIR}/.cache/pre-commit
volumes:
@ -27,16 +27,17 @@ steps:
- name: test
pull: if-not-exists
{%- if cookiecutter.use_docker == 'y' %}
image: docker/compose:1.29.2
image: docker:25.0
environment:
DATABASE_URL: pgsql://$POSTGRES_USER:$POSTGRES_PASSWORD@postgres/$POSTGRES_DB
commands:
- docker-compose -f local.yml build
- docker-compose -f local.yml run --rm django python manage.py migrate
- docker-compose -f local.yml up -d
- docker-compose -f local.yml run django pytest
- docker-compose -f docker-compose.local.yml build
- docker-compose -f docker-compose.docs.yml build
- docker-compose -f docker-compose.local.yml run --rm django python manage.py migrate
- docker-compose -f docker-compose.local.yml up -d
- docker-compose -f docker-compose.local.yml run django pytest
{%- else %}
image: python:3.11
image: python:3.12
commands:
- pip install -r requirements/local.txt
- pytest

View File

@ -12,7 +12,7 @@ trim_trailing_whitespace = true
indent_style = space
indent_size = 4
[*.{html,css,scss,json,yml,xml}]
[*.{html,css,scss,json,yml,xml,toml}]
indent_style = space
indent_size = 2

View File

@ -28,8 +28,8 @@ POSTMARK_SERVER_TOKEN=
SENDGRID_API_KEY=
SENDGRID_GENERATE_MESSAGE_ID=True
SENDGRID_MERGE_FIELD_FORMAT=None
{% elif cookiecutter.mail_service == 'SendinBlue' %}
SENDINBLUE_API_KEY=
{% elif cookiecutter.mail_service == 'Brevo' %}
BREVO_API_KEY=
{% elif cookiecutter.mail_service == 'SparkPost' %}
SPARKPOST_API_KEY=
{% endif %}

View File

@ -1,5 +1,5 @@
# 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
updates:
@ -9,16 +9,20 @@ updates:
# Every weekday
schedule:
interval: 'daily'
groups:
github-actions:
patterns:
- '*'
{%- if cookiecutter.use_docker == 'y' %}
# Enable version updates for Docker
# We need to specify each Dockerfile in a separate entry because Dependabot doesn't
# support wildcards or recursively checking subdirectories. Check this issue for updates:
# https://github.com/dependabot/dependabot-core/issues/2178
- package-ecosystem: 'docker'
# Look for a `Dockerfile` in the `compose/local/django` directory
directory: 'compose/local/django/'
directories:
- 'compose/local/django/'
- 'compose/local/docs/'
- 'compose/production/django/'
# Every weekday
schedule:
interval: 'daily'
@ -28,57 +32,22 @@ updates:
update-types:
- 'version-update:semver-major'
- 'version-update:semver-minor'
groups:
docker-python:
patterns:
- '*'
- package-ecosystem: 'docker'
# Look for a `Dockerfile` in the `compose/local/docs` directory
directory: 'compose/local/docs/'
# Every weekday
schedule:
interval: 'daily'
# Ignore minor version updates (3.10 -> 3.11) but update patch versions
ignore:
- dependency-name: '*'
update-types:
- 'version-update:semver-major'
- 'version-update:semver-minor'
- package-ecosystem: 'docker'
# Look for a `Dockerfile` in the `compose/local/node` directory
directory: 'compose/local/node/'
# Every weekday
schedule:
interval: 'daily'
- package-ecosystem: 'docker'
# Look for a `Dockerfile` in the `compose/production/aws` directory
directory: 'compose/production/aws/'
# Every weekday
schedule:
interval: 'daily'
- package-ecosystem: 'docker'
# Look for a `Dockerfile` in the `compose/production/django` directory
directory: 'compose/production/django/'
# Every weekday
schedule:
interval: 'daily'
# Ignore minor version updates (3.10 -> 3.11) but update patch versions
ignore:
- dependency-name: '*'
update-types:
- 'version-update:semver-major'
- 'version-update:semver-minor'
- package-ecosystem: 'docker'
# Look for a `Dockerfile` in the `compose/production/postgres` directory
directory: 'compose/production/postgres/'
# Every weekday
schedule:
interval: 'daily'
- package-ecosystem: 'docker'
# Look for a `Dockerfile` in the `compose/production/traefik` directory
directory: 'compose/production/traefik/'
# Look for a `Dockerfile` in the listed directories
directories:
- 'compose/local/node/'
- 'compose/production/aws/'
- 'compose/production/postgres/'
- 'compose/production/traefik/'
{%- if cookiecutter.cloud_provider == 'None' %}
- 'compose/production/nginx/'
{%- endif %}
# Every weekday
schedule:
interval: 'daily'
@ -88,11 +57,16 @@ updates:
# Enable version updates for Python/Pip - Production
- package-ecosystem: 'pip'
# Look for a `requirements.txt` in the `root` directory
# also 'setup.cfg', 'runtime.txt' and 'requirements/*.txt'
# also 'setup.cfg', '.python-version' and 'requirements/*.txt'
directory: '/'
# Every weekday
schedule:
interval: 'daily'
groups:
python:
update-types:
- 'minor'
- 'patch'
{%- if cookiecutter.frontend_pipeline == 'Gulp' %}
@ -103,5 +77,10 @@ updates:
# Every weekday
schedule:
interval: 'daily'
groups:
javascript:
update-types:
- 'minor'
- 'patch'
{%- endif %}

View File

@ -26,17 +26,17 @@ jobs:
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: '3.11'
python-version-file: '.python-version'
{%- 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@v3.0.0
uses: pre-commit/action@v3.0.1
# With no caching at all the entire ci process takes 4m 30s to complete!
# With no caching at all the entire ci process takes 3m to complete!
pytest:
runs-on: ubuntu-latest
{%- if cookiecutter.use_docker == 'n' %}
@ -57,7 +57,7 @@ jobs:
env:
{%- if cookiecutter.use_celery == 'y' %}
CELERY_BROKER_URL: 'redis://localhost:6379/0'
REDIS_URL: 'redis://localhost:6379/0'
{%- endif %}
# postgres://user:password@host:port/database
DATABASE_URL: 'postgres://postgres:postgres@localhost:5432/postgres'
@ -68,23 +68,49 @@ jobs:
uses: actions/checkout@v4
{%- if cookiecutter.use_docker == 'y' %}
- name: Build the Stack
run: docker compose -f local.yml build
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build and cache local backend
uses: docker/bake-action@v6
with:
push: false
load: true
files: docker-compose.local.yml
targets: django
set: |
django.cache-from=type=gha,scope=django-cached-tests
django.cache-to=type=gha,scope=django-cached-tests,mode=max
postgres.cache-from=type=gha,scope=postgres-cached-tests
postgres.cache-to=type=gha,scope=postgres-cached-tests,mode=max
- name: Build and cache docs
uses: docker/bake-action@v6
with:
push: false
load: true
files: docker-compose.docs.yml
set: |
docs.cache-from=type=gha,scope=cached-docs
docs.cache-to=type=gha,scope=cached-docs,mode=max
- name: Check DB Migrations
run: docker compose -f docker-compose.local.yml run --rm django python manage.py makemigrations --check
- name: Run DB Migrations
run: docker compose -f local.yml run --rm django python manage.py migrate
run: docker compose -f docker-compose.local.yml run --rm django python manage.py migrate
- name: Run Django Tests
run: docker compose -f local.yml run django pytest
run: docker compose -f docker-compose.local.yml run django pytest
- name: Tear down the Stack
run: docker compose -f local.yml down
run: docker compose -f docker-compose.local.yml down
{%- else %}
- name: Set up Python
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: '3.11'
python-version-file: '.python-version'
cache: pip
cache-dependency-path: |
requirements/base.txt
@ -95,6 +121,12 @@ jobs:
python -m pip install --upgrade pip
pip install -r requirements/local.txt
- name: Check DB Migrations
run: python manage.py makemigrations --check
- name: Run DB Migrations
run: python manage.py migrate
- name: Test with pytest
run: pytest
{%- endif %}

View File

@ -59,9 +59,6 @@ docs/_build/
# PyBuilder
target/
# pyenv
.python-version
{% if cookiecutter.use_celery == 'y' -%}
# celery beat schedule file
celerybeat-schedule

View File

@ -8,12 +8,12 @@ variables:
POSTGRES_DB: 'test_{{ cookiecutter.project_slug }}'
POSTGRES_HOST_AUTH_METHOD: trust
{%- if cookiecutter.use_celery == 'y' %}
CELERY_BROKER_URL: 'redis://redis:6379/0'
REDIS_URL: 'redis://redis:6379/0'
{%- endif %}
precommit:
stage: lint
image: python:3.11
image: python:3.12
variables:
PRE_COMMIT_HOME: ${CI_PROJECT_DIR}/.cache/pre-commit
cache:
@ -27,22 +27,19 @@ precommit:
pytest:
stage: test
{%- if cookiecutter.use_docker == 'y' %}
image: docker/compose:1.29.2
tags:
- docker
image: docker:25.0
services:
- docker:dind
before_script:
- docker compose -f local.yml build
- docker compose -f docker-compose.local.yml build
- docker compose -f docker-compose.docs.yml build
# Ensure celerybeat does not crash due to non-existent tables
- docker compose -f local.yml run --rm django python manage.py migrate
- docker compose -f local.yml up -d
- docker compose -f docker-compose.local.yml run --rm django python manage.py migrate
- docker compose -f docker-compose.local.yml up -d
script:
- docker compose -f local.yml run django pytest
- docker compose -f docker-compose.local.yml run django pytest
{%- else %}
image: python:3.11
tags:
- python
image: python:3.12
services:
- postgres:{{ cookiecutter.postgresql_version }}
variables:

View File

@ -15,7 +15,7 @@
{%- endif %}
</list>
</option>
<option name="sourceFilePath" value="local.yml"/>
<option name="sourceFilePath" value="docker-compose.local.yml"/>
</settings>
</deployment>
<method v="2"/>

View File

@ -8,7 +8,7 @@
<option value="docs"/>
</list>
</option>
<option name="sourceFilePath" value="local.yml"/>
<option name="sourceFilePath" value="docker-compose.local.yml"/>
</settings>
</deployment>
<method v="2"/>

View File

@ -1,9 +1,13 @@
exclude: '^docs/|/migrations/'
default_stages: [commit]
exclude: '^docs/|/migrations/|devcontainer.json'
default_stages: [pre-commit]
minimum_pre_commit_version: "3.2.0"
default_language_version:
python: python3.12
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.4.0
rev: v5.0.0
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
@ -18,41 +22,30 @@ repos:
- id: detect-private-key
- repo: https://github.com/pre-commit/mirrors-prettier
rev: v3.0.3
rev: v4.0.0-alpha.8
hooks:
- id: prettier
args: ['--tab-width', '2', '--single-quote']
exclude: '{{cookiecutter.project_slug}}/templates/'
- repo: https://github.com/adamchainz/django-upgrade
rev: '1.15.0'
rev: '1.24.0'
hooks:
- id: django-upgrade
args: ['--target-version', '4.2']
args: ['--target-version', '5.0']
- repo: https://github.com/asottile/pyupgrade
rev: v3.13.0
# Run the Ruff linter.
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.11.4
hooks:
- id: pyupgrade
args: [--py311-plus]
- repo: https://github.com/psf/black
rev: 23.9.1
hooks:
- id: black
- repo: https://github.com/PyCQA/isort
rev: 5.12.0
hooks:
- id: isort
- repo: https://github.com/PyCQA/flake8
rev: 6.1.0
hooks:
- id: flake8
# Linter
- id: ruff
args: [--fix, --exit-non-zero-on-fix]
# Formatter
- id: ruff-format
- repo: https://github.com/Riverside-Healthcare/djLint
rev: v1.34.0
rev: v1.36.4
hooks:
- id: djlint-reformat-django
- id: djlint-django

View File

@ -0,0 +1 @@
3.12

View File

@ -8,7 +8,7 @@ version: 2
build:
os: ubuntu-22.04
tools:
python: '3.11'
python: '3.12'
# Build documentation in the docs/ directory with Sphinx
sphinx:

View File

@ -2,7 +2,7 @@ dist: focal
language: python
python:
- "3.11"
- "3.12"
services:
- {% if cookiecutter.use_docker == 'y' %}docker{% else %}postgresql{% endif %}
@ -10,23 +10,24 @@ jobs:
include:
- name: "Linter"
before_script:
- pip install -q flake8
- pip install -q ruff
script:
- "flake8"
- ruff check .
- name: "Django Test"
{%- if cookiecutter.use_docker == 'y' %}
before_script:
- docker compose -v
- docker -v
- docker compose -f local.yml build
- docker compose -f docker-compose.local.yml build
- docker compose -f docker-compose.docs.yml build
# Ensure celerybeat does not crash due to non-existent tables
- docker compose -f local.yml run --rm django python manage.py migrate
- docker compose -f local.yml up -d
- docker compose -f docker-compose.local.yml run --rm django python manage.py migrate
- docker compose -f docker-compose.local.yml up -d
script:
- "docker compose -f local.yml run django pytest"
- docker compose -f docker-compose.local.yml run django pytest
after_failure:
- docker compose -f local.yml logs
- docker compose -f docker-compose.local.yml logs
{%- else %}
before_install:
- sudo apt-get update -qq
@ -37,9 +38,9 @@ jobs:
- sudo apt-get install -qq libsqlite3-dev libxml2 libxml2-dev libssl-dev libbz2-dev wget curl llvm
language: python
python:
- "3.11"
- "3.12"
install:
- pip install -r requirements/local.txt
script:
- "pytest"
- pytest
{%- endif %}

View File

@ -1,6 +1,6 @@
release: python manage.py migrate
{%- if cookiecutter.use_async == "y" %}
web: gunicorn config.asgi:application -k uvicorn.workers.UvicornWorker
web: gunicorn config.asgi:application -k uvicorn_worker.UvicornWorker
{%- else %}
web: gunicorn config.wsgi:application
{%- endif %}

View File

@ -3,7 +3,7 @@
{{ cookiecutter.description }}
[![Built with Cookiecutter Django](https://img.shields.io/badge/built%20with-Cookiecutter%20Django-ff69b4.svg?logo=cookiecutter)](https://github.com/cookiecutter/cookiecutter-django/)
[![Black code style](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)
[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
{%- if cookiecutter.open_source_license != "Not open source" %}
@ -12,7 +12,7 @@ License: {{cookiecutter.open_source_license}}
## Settings
Moved to [settings](http://cookiecutter-django.readthedocs.io/en/latest/settings.html).
Moved to [settings](https://cookiecutter-django.readthedocs.io/en/latest/1-getting-started/settings.html).
## Basic Commands
@ -46,7 +46,7 @@ To run the tests, check your test coverage, and generate an HTML coverage report
### Live reloading and Sass CSS compilation
Moved to [Live reloading and SASS compilation](https://cookiecutter-django.readthedocs.io/en/latest/developing-locally.html#sass-compilation-live-reloading).
Moved to [Live reloading and SASS compilation](https://cookiecutter-django.readthedocs.io/en/latest/2-local-development/developing-locally.html#using-webpack-or-gulp).
{%- if cookiecutter.use_celery == "y" %}
@ -87,7 +87,7 @@ celery -A config.celery_app worker -B -l info
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 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.
Please check [cookiecutter-django Docker documentation](https://cookiecutter-django.readthedocs.io/en/latest/2-local-development/developing-locally-docker.html) for more details how to start all containers.
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 %}
@ -130,14 +130,14 @@ The following details how to deploy this application.
### Heroku
See detailed [cookiecutter-django Heroku documentation](http://cookiecutter-django.readthedocs.io/en/latest/deployment-on-heroku.html).
See detailed [cookiecutter-django Heroku documentation](https://cookiecutter-django.readthedocs.io/en/latest/3-deployment/deployment-on-heroku.html).
{%- endif %}
{%- if cookiecutter.use_docker.lower() == "y" %}
### Docker
See detailed [cookiecutter-django Docker documentation](http://cookiecutter-django.readthedocs.io/en/latest/deployment-with-docker.html).
See detailed [cookiecutter-django Docker documentation](https://cookiecutter-django.readthedocs.io/en/latest/3-deployment/deployment-with-docker.html).
{%- endif %}
{%- if cookiecutter.frontend_pipeline in ['Gulp', 'Webpack'] %}

View File

@ -1,8 +1,8 @@
# define an alias for the specific python version used in this file.
FROM python:3.11.5-slim-bullseye as python
FROM docker.io/python:3.12.9-slim-bookworm AS python
# Python build stage
FROM python as python-build-stage
FROM python AS python-build-stage
ARG BUILD_ENVIRONMENT=local
@ -10,7 +10,7 @@ ARG BUILD_ENVIRONMENT=local
RUN apt-get update && apt-get install --no-install-recommends -y \
# dependencies for building Python packages
build-essential \
# psycopg2 dependencies
# psycopg dependencies
libpq-dev
# Requirements are installed here to ensure they will be cached.
@ -22,14 +22,14 @@ RUN pip wheel --wheel-dir /usr/src/app/wheels \
# Python 'run' stage
FROM python as python-run-stage
FROM python AS python-run-stage
ARG BUILD_ENVIRONMENT=local
ARG APP_HOME=/app
ENV PYTHONUNBUFFERED 1
ENV PYTHONDONTWRITEBYTECODE 1
ENV BUILD_ENV ${BUILD_ENVIRONMENT}
ENV PYTHONUNBUFFERED=1
ENV PYTHONDONTWRITEBYTECODE=1
ENV BUILD_ENV=${BUILD_ENVIRONMENT}
WORKDIR ${APP_HOME}
@ -47,8 +47,9 @@ RUN groupadd --gid 1000 dev-user \
# Install required system dependencies
RUN apt-get update && apt-get install --no-install-recommends -y \
# psycopg2 dependencies
libpq-dev \
# psycopg dependencies
libpq-dev \
wait-for-it \
# Translations dependencies
gettext \
# cleaning up unused files

View File

@ -3,6 +3,14 @@
set -o errexit
set -o nounset
until timeout 10 celery -A config.celery_app inspect ping; do
>&2 echo "Celery workers not available"
done
echo 'Starting flower'
exec watchfiles --filter python celery.__main__.main \
--args \
"-A config.celery_app -b \"${CELERY_BROKER_URL}\" flower --basic_auth=\"${CELERY_FLOWER_USER}:${CELERY_FLOWER_PASSWORD}\""
"-A config.celery_app -b \"${REDIS_URL}\" flower --basic_auth=\"${CELERY_FLOWER_USER}:${CELERY_FLOWER_PASSWORD}\""

View File

@ -1,16 +1,16 @@
# define an alias for the specific python version used in this file.
FROM python:3.11.5-slim-bullseye as python
FROM docker.io/python:3.12.9-slim-bookworm AS python
# Python build stage
FROM python as python-build-stage
FROM python AS python-build-stage
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONDONTWRITEBYTECODE=1
RUN apt-get update && apt-get install --no-install-recommends -y \
# dependencies for building Python packages
build-essential \
# psycopg2 dependencies
# psycopg dependencies
libpq-dev \
# cleaning up unused files
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
@ -26,16 +26,16 @@ RUN pip wheel --no-cache-dir --wheel-dir /usr/src/app/wheels \
# Python 'run' stage
FROM python as python-run-stage
FROM python AS python-run-stage
ARG BUILD_ENVIRONMENT
ENV PYTHONUNBUFFERED 1
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED=1
ENV PYTHONDONTWRITEBYTECODE=1
RUN apt-get update && apt-get install --no-install-recommends -y \
# To run the Makefile
make \
# psycopg2 dependencies
# psycopg dependencies
libpq-dev \
# Translations dependencies
gettext \

View File

@ -1,4 +1,4 @@
FROM node:18-bullseye-slim
FROM docker.io/node:22.14-bookworm-slim
WORKDIR /app
@ -6,4 +6,4 @@ COPY ./package.json /app
RUN npm install && npm cache clean --force
ENV PATH ./node_modules/.bin/:$PATH
ENV PATH=./node_modules/.bin/:$PATH

View File

@ -1,4 +1,8 @@
FROM garland/aws-cli-docker:1.16.140
FROM docker.io/amazon/aws-cli:2.25.0
# Clear entrypoint from the base image, otherwise it's always calling the aws CLI
ENTRYPOINT []
CMD ["/bin/bash"]
COPY ./compose/production/aws/maintenance /usr/local/bin/maintenance
COPY ./compose/production/postgres/maintenance/_sourced /usr/local/bin/maintenance/_sourced

View File

@ -3,7 +3,7 @@
### Download a file from your Amazon S3 bucket to the postgres /backups folder
###
### Usage:
### $ docker compose -f production.yml run --rm awscli <1>
### $ docker compose -f docker-compose.production.yml run --rm awscli <1>
set -o errexit
set -o pipefail

View File

@ -3,7 +3,7 @@
### Upload the /backups folder to Amazon S3
###
### Usage:
### $ docker compose -f production.yml run --rm awscli upload
### $ docker compose -f docker-compose.production.yml run --rm awscli upload
set -o errexit
set -o pipefail

View File

@ -1,5 +1,5 @@
{% if cookiecutter.frontend_pipeline in ['Gulp', 'Webpack'] -%}
FROM node:18-bullseye-slim as client-builder
FROM docker.io/node:22.14-bookworm-slim AS client-builder
ARG APP_HOME=/app
WORKDIR ${APP_HOME}
@ -25,10 +25,10 @@ RUN npm run build
{%- endif %}
# define an alias for the specific python version used in this file.
FROM python:3.11.5-slim-bullseye as python
FROM docker.io/python:3.12.9-slim-bookworm AS python
# Python build stage
FROM python as python-build-stage
FROM python AS python-build-stage
ARG BUILD_ENVIRONMENT=production
@ -36,9 +36,10 @@ ARG BUILD_ENVIRONMENT=production
RUN apt-get update && apt-get install --no-install-recommends -y \
# dependencies for building Python packages
build-essential \
# psycopg2 dependencies
# psycopg dependencies
libpq-dev
# Requirements are installed here to ensure they will be cached.
COPY ./requirements .
@ -48,27 +49,29 @@ RUN pip wheel --wheel-dir /usr/src/app/wheels \
# Python 'run' stage
FROM python as python-run-stage
FROM python AS python-run-stage
ARG BUILD_ENVIRONMENT=production
ARG APP_HOME=/app
ENV PYTHONUNBUFFERED 1
ENV PYTHONDONTWRITEBYTECODE 1
ENV BUILD_ENV ${BUILD_ENVIRONMENT}
ENV PYTHONUNBUFFERED=1
ENV PYTHONDONTWRITEBYTECODE=1
ENV BUILD_ENV=${BUILD_ENVIRONMENT}
WORKDIR ${APP_HOME}
RUN addgroup --system django \
&& adduser --system --ingroup django django
&& adduser --system --ingroup django django
# Install required system dependencies
RUN apt-get update && apt-get install --no-install-recommends -y \
# psycopg2 dependencies
# psycopg dependencies
libpq-dev \
# Translations dependencies
gettext \
# entrypoint
wait-for-it \
# cleaning up unused files
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
&& rm -rf /var/lib/apt/lists/*
@ -117,14 +120,11 @@ COPY --chown=django:django . ${APP_HOME}
{%- endif %}
# make django owner of the WORKDIR directory as well.
RUN chown django:django ${APP_HOME}
RUN chown -R django:django ${APP_HOME}
USER django
RUN DATABASE_URL="" \
{%- if cookiecutter.use_celery == "y" %}
CELERY_BROKER_URL="" \
{%- endif %}
DJANGO_SETTINGS_MODULE="config.settings.test" \
python manage.py compilemessages

View File

@ -4,8 +4,16 @@ set -o errexit
set -o nounset
until timeout 10 celery -A config.celery_app inspect ping; do
>&2 echo "Celery workers not available"
done
echo 'Starting flower'
exec celery \
-A config.celery_app \
-b "${CELERY_BROKER_URL}" \
-b "${REDIS_URL}" \
flower \
--basic_auth="${CELERY_FLOWER_USER}:${CELERY_FLOWER_PASSWORD}"

View File

@ -4,45 +4,13 @@ set -o errexit
set -o pipefail
set -o nounset
{% if cookiecutter.use_celery == 'y' %}
# N.B. If only .env files supported variable expansion...
export CELERY_BROKER_URL="${REDIS_URL}"
{% endif %}
if [ -z "${POSTGRES_USER}" ]; then
base_postgres_image_default_user='postgres'
export POSTGRES_USER="${base_postgres_image_default_user}"
fi
export DATABASE_URL="postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@${POSTGRES_HOST}:${POSTGRES_PORT}/${POSTGRES_DB}"
python << END
import sys
import time
import psycopg
suggest_unrecoverable_after = 30
start = time.time()
while True:
try:
psycopg.connect(
dbname="${POSTGRES_DB}",
user="${POSTGRES_USER}",
password="${POSTGRES_PASSWORD}",
host="${POSTGRES_HOST}",
port="${POSTGRES_PORT}",
)
break
except psycopg.OperationalError as error:
sys.stderr.write("Waiting for PostgreSQL to become available...\n")
if time.time() - start > suggest_unrecoverable_after:
sys.stderr.write(" This is taking longer than expected. The following exception may be indicative of an unrecoverable error: '{}'\n".format(error))
time.sleep(1)
END
wait-for-it "${POSTGRES_HOST}:${POSTGRES_PORT}" -t 30
>&2 echo 'PostgreSQL is available'

View File

@ -28,7 +28,7 @@ if compress_enabled; then
fi
{%- endif %}
{%- if cookiecutter.use_async == 'y' %}
exec /usr/local/bin/gunicorn config.asgi --bind 0.0.0.0:5000 --chdir=/app -k uvicorn.workers.UvicornWorker
exec /usr/local/bin/gunicorn config.asgi --bind 0.0.0.0:5000 --chdir=/app -k uvicorn_worker.UvicornWorker
{%- else %}
exec /usr/local/bin/gunicorn config.wsgi --bind 0.0.0.0:5000 --chdir=/app
{%- endif %}

View File

@ -1,2 +1,2 @@
FROM nginx:1.17.8-alpine
FROM docker.io/nginx:1.17.8-alpine
COPY ./compose/production/nginx/default.conf /etc/nginx/conf.d/default.conf

View File

@ -1,4 +1,4 @@
FROM postgres:{{ cookiecutter.postgresql_version }}
FROM docker.io/postgres:{{ cookiecutter.postgresql_version }}
COPY ./compose/production/postgres/maintenance /usr/local/bin/maintenance
RUN chmod +x /usr/local/bin/maintenance/*

View File

@ -0,0 +1,36 @@
#!/usr/bin/env bash
### Remove a database backup.
###
### Parameters:
### <1> filename of a backup to remove.
###
### Usage:
### $ docker-compose -f <environment>.yml (exec |run --rm) postgres rmbackup <1>
set -o errexit
set -o pipefail
set -o nounset
working_dir="$(dirname ${0})"
source "${working_dir}/_sourced/constants.sh"
source "${working_dir}/_sourced/messages.sh"
if [[ -z ${1+x} ]]; then
message_error "Backup filename is not specified yet it is a required parameter. Make sure you provide one and try again."
exit 1
fi
backup_filename="${BACKUP_DIR_PATH}/${1}"
if [[ ! -f "${backup_filename}" ]]; then
message_error "No backup with the specified filename found. Check out the 'backups' maintenance script output to see if there is one and try again."
exit 1
fi
message_welcome "Removing the '${backup_filename}' backup file..."
rm -r "${backup_filename}"
message_success "The '${backup_filename}' database backup has been removed."

View File

@ -1,4 +1,4 @@
FROM traefik:2.10.4
FROM docker.io/traefik:3.3.5
RUN mkdir -p /etc/traefik/acme \
&& touch /etc/traefik/acme/acme.json \
&& chmod 600 /etc/traefik/acme/acme.json

View File

@ -6,7 +6,7 @@ entryPoints:
# http
address: ':80'
http:
# https://docs.traefik.io/routing/entrypoints/#entrypoint
# https://doc.traefik.io/traefik/routing/entrypoints/#entrypoint
redirections:
entryPoint:
to: web-secure
@ -22,11 +22,11 @@ entryPoints:
certificatesResolvers:
letsencrypt:
# https://docs.traefik.io/master/https/acme/#lets-encrypt
# https://doc.traefik.io/traefik/https/acme/#lets-encrypt
acme:
email: '{{ cookiecutter.email }}'
storage: /etc/traefik/acme/acme.json
# https://docs.traefik.io/master/https/acme/#httpchallenge
# https://doc.traefik.io/traefik/https/acme/#httpchallenge
httpChallenge:
entryPoint: web
@ -44,7 +44,7 @@ http:
- csrf
service: django
tls:
# https://docs.traefik.io/master/routing/routers/#certresolver
# https://doc.traefik.io/traefik/routing/routers/#certresolver
certResolver: letsencrypt
{%- if cookiecutter.use_celery == 'y' %}
@ -54,7 +54,7 @@ http:
- flower
service: flower
tls:
# https://docs.traefik.io/master/routing/routers/#certresolver
# https://doc.traefik.io/traefik/master/routing/routers/#certresolver
certResolver: letsencrypt
{%- endif %}
{%- if cookiecutter.cloud_provider == 'None' %}
@ -76,7 +76,7 @@ http:
middlewares:
csrf:
# https://docs.traefik.io/master/middlewares/headers/#hostsproxyheaders
# https://doc.traefik.io/traefik/master/middlewares/http/headers/#hostsproxyheaders
# https://docs.djangoproject.com/en/dev/ref/csrf/#ajax
headers:
hostsProxyHeaders: ['X-CSRFToken']
@ -102,7 +102,7 @@ http:
{%- endif %}
providers:
# https://docs.traefik.io/master/providers/file/
# https://doc.traefik.io/traefik/master/providers/file/
file:
filename: /etc/traefik/traefik.yml
watch: true

View File

@ -1,12 +1,10 @@
from django.conf import settings
from rest_framework.routers import DefaultRouter, SimpleRouter
from rest_framework.routers import DefaultRouter
from rest_framework.routers import SimpleRouter
from {{ cookiecutter.project_slug }}.users.api.views import UserViewSet
if settings.DEBUG:
router = DefaultRouter()
else:
router = SimpleRouter()
router = DefaultRouter() if settings.DEBUG else SimpleRouter()
router.register("users", UserViewSet)

View File

@ -7,6 +7,7 @@ For more information on this file, see
https://docs.djangoproject.com/en/dev/howto/deployment/asgi/
"""
import os
import sys
from pathlib import Path
@ -23,12 +24,9 @@ os.environ.setdefault("DJANGO_SETTINGS_MODULE", "config.settings.local")
# This application object is used by any ASGI server configured to use this file.
django_application = get_asgi_application()
# Apply ASGI middleware here.
# from helloworld.asgi import HelloWorldApplication
# application = HelloWorldApplication(application)
# Import websocket application here, so apps from django_application are loaded first
from config.websocket import websocket_application # noqa isort:skip
from config.websocket import websocket_application # noqa: E402
async def application(scope, receive, send):
@ -37,4 +35,5 @@ async def application(scope, receive, send):
elif scope["type"] == "websocket":
await websocket_application(scope, receive, send)
else:
raise NotImplementedError(f"Unknown scope type {scope['type']}")
msg = f"Unknown scope type {scope['type']}"
raise NotImplementedError(msg)

View File

@ -1,6 +1,7 @@
import os
from celery import Celery
from celery.signals import setup_logging
# set the default Django settings module for the 'celery' program.
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "config.settings.local")
@ -13,5 +14,15 @@ app = Celery("{{cookiecutter.project_slug}}")
# should have a `CELERY_` prefix.
app.config_from_object("django.conf:settings", namespace="CELERY")
@setup_logging.connect
def config_loggers(*args, **kwargs):
from logging.config import dictConfig
from django.conf import settings
dictConfig(settings.LOGGING)
# Load task modules from all registered Django app configs.
app.autodiscover_tasks()

View File

@ -1,6 +1,9 @@
"""
Base settings to build other settings files upon.
"""
# ruff: noqa: ERA001, E501
"""Base settings to build other settings files upon."""
{% if cookiecutter.use_celery == 'y' -%}
import ssl
{%- endif %}
from pathlib import Path
import environ
@ -84,6 +87,7 @@ THIRD_PARTY_APPS = [
"crispy_bootstrap5",
"allauth",
"allauth.account",
"allauth.mfa",
"allauth.socialaccount",
{%- if cookiecutter.use_celery == 'y' %}
"django_celery_beat",
@ -137,7 +141,9 @@ PASSWORD_HASHERS = [
]
# https://docs.djangoproject.com/en/dev/ref/settings/#auth-password-validators
AUTH_PASSWORD_VALIDATORS = [
{"NAME": "django.contrib.auth.password_validation.UserAttributeSimilarityValidator"},
{
"NAME": "django.contrib.auth.password_validation.UserAttributeSimilarityValidator",
},
{"NAME": "django.contrib.auth.password_validation.MinimumLengthValidator"},
{"NAME": "django.contrib.auth.password_validation.CommonPasswordValidator"},
{"NAME": "django.contrib.auth.password_validation.NumericPasswordValidator"},
@ -210,7 +216,7 @@ TEMPLATES = [
"{{cookiecutter.project_slug}}.users.context_processors.allauth_settings",
],
},
}
},
]
# https://docs.djangoproject.com/en/dev/ref/settings/#form-renderer
@ -274,11 +280,14 @@ LOGGING = {
"level": "DEBUG",
"class": "logging.StreamHandler",
"formatter": "verbose",
}
},
},
"root": {"level": "INFO", "handlers": ["console"]},
}
REDIS_URL = env("REDIS_URL", default="redis://{% if cookiecutter.use_docker == 'y' %}redis{%else%}localhost{% endif %}:6379/0")
REDIS_SSL = REDIS_URL.startswith("rediss://")
{% if cookiecutter.use_celery == 'y' -%}
# Celery
# ------------------------------------------------------------------------------
@ -286,9 +295,13 @@ if USE_TZ:
# https://docs.celeryq.dev/en/stable/userguide/configuration.html#std:setting-timezone
CELERY_TIMEZONE = TIME_ZONE
# https://docs.celeryq.dev/en/stable/userguide/configuration.html#std:setting-broker_url
CELERY_BROKER_URL = env("CELERY_BROKER_URL")
CELERY_BROKER_URL = REDIS_URL
# https://docs.celeryq.dev/en/stable/userguide/configuration.html#redis-backend-use-ssl
CELERY_BROKER_USE_SSL = {"ssl_cert_reqs": ssl.CERT_NONE} if REDIS_SSL else None
# https://docs.celeryq.dev/en/stable/userguide/configuration.html#std:setting-result_backend
CELERY_RESULT_BACKEND = CELERY_BROKER_URL
CELERY_RESULT_BACKEND = REDIS_URL
# https://docs.celeryq.dev/en/stable/userguide/configuration.html#redis-backend-use-ssl
CELERY_REDIS_BACKEND_USE_SSL = CELERY_BROKER_USE_SSL
# 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
@ -314,30 +327,32 @@ CELERY_BEAT_SCHEDULER = "django_celery_beat.schedulers:DatabaseScheduler"
CELERY_WORKER_SEND_TASK_EVENTS = True
# https://docs.celeryq.dev/en/stable/userguide/configuration.html#std-setting-task_send_sent_event
CELERY_TASK_SEND_SENT_EVENT = True
# https://docs.celeryq.dev/en/stable/userguide/configuration.html#worker-hijack-root-logger
CELERY_WORKER_HIJACK_ROOT_LOGGER = False
{%- endif %}
# django-allauth
# ------------------------------------------------------------------------------
ACCOUNT_ALLOW_REGISTRATION = env.bool("DJANGO_ACCOUNT_ALLOW_REGISTRATION", True)
# https://django-allauth.readthedocs.io/en/latest/configuration.html
ACCOUNT_AUTHENTICATION_METHOD = "{{cookiecutter.username_type}}"
# https://django-allauth.readthedocs.io/en/latest/configuration.html
ACCOUNT_EMAIL_REQUIRED = True
{%- if cookiecutter.username_type == "email" %}
# https://django-allauth.readthedocs.io/en/latest/configuration.html
ACCOUNT_USERNAME_REQUIRED = False
# https://django-allauth.readthedocs.io/en/latest/configuration.html
# https://docs.allauth.org/en/latest/account/configuration.html
ACCOUNT_LOGIN_METHODS = {"{{cookiecutter.username_type}}"}
# https://docs.allauth.org/en/latest/account/configuration.html
{%- if cookiecutter.username_type == "username" %}
ACCOUNT_SIGNUP_FIELDS = ["email*", "username*", "password1*", "password2*"]
{%- else %}
ACCOUNT_SIGNUP_FIELDS = ["email*", "password1*", "password2*"]
# https://docs.allauth.org/en/latest/account/configuration.html
ACCOUNT_USER_MODEL_USERNAME_FIELD = None
{%- endif %}
# https://django-allauth.readthedocs.io/en/latest/configuration.html
# https://docs.allauth.org/en/latest/account/configuration.html
ACCOUNT_EMAIL_VERIFICATION = "mandatory"
# https://django-allauth.readthedocs.io/en/latest/configuration.html
# https://docs.allauth.org/en/latest/account/configuration.html
ACCOUNT_ADAPTER = "{{cookiecutter.project_slug}}.users.adapters.AccountAdapter"
# https://django-allauth.readthedocs.io/en/latest/forms.html
# https://docs.allauth.org/en/latest/account/forms.html
ACCOUNT_FORMS = {"signup": "{{cookiecutter.project_slug}}.users.forms.UserSignupForm"}
# https://django-allauth.readthedocs.io/en/latest/configuration.html
# https://docs.allauth.org/en/latest/socialaccount/configuration.html
SOCIALACCOUNT_ADAPTER = "{{cookiecutter.project_slug}}.users.adapters.SocialAccountAdapter"
# https://django-allauth.readthedocs.io/en/latest/forms.html
# https://docs.allauth.org/en/latest/socialaccount/configuration.html
SOCIALACCOUNT_FORMS = {"signup": "{{cookiecutter.project_slug}}.users.forms.UserSocialSignupForm"}
{% if cookiecutter.frontend_pipeline == 'Django Compressor' -%}
# django-compressor
@ -369,6 +384,7 @@ SPECTACULAR_SETTINGS = {
"DESCRIPTION": "Documentation of API endpoints of {{ cookiecutter.project_name }}",
"VERSION": "1.0.0",
"SERVE_PERMISSIONS": ["rest_framework.permissions.IsAdminUser"],
"SCHEMA_PATH_PREFIX": "/api/",
}
{%- endif %}
{%- if cookiecutter.frontend_pipeline == 'Webpack' %}
@ -380,7 +396,7 @@ WEBPACK_LOADER = {
"STATS_FILE": BASE_DIR / "webpack-stats.json",
"POLL_INTERVAL": 0.1,
"IGNORE": [r".+\.hot-update.js", r".+\.map"],
}
},
}
{%- endif %}

View File

@ -1,4 +1,10 @@
from .base import * # noqa
# ruff: noqa: E501
from .base import * # noqa: F403
from .base import INSTALLED_APPS
from .base import MIDDLEWARE
{%- if cookiecutter.frontend_pipeline == 'Webpack' %}
from .base import WEBPACK_LOADER
{%- endif %}
from .base import env
# GENERAL
@ -11,7 +17,7 @@ SECRET_KEY = env(
default="!!!SET DJANGO_SECRET_KEY!!!",
)
# https://docs.djangoproject.com/en/dev/ref/settings/#allowed-hosts
ALLOWED_HOSTS = ["localhost", "0.0.0.0", "127.0.0.1"]
ALLOWED_HOSTS = ["localhost", "0.0.0.0", "127.0.0.1"] # noqa: S104
# CACHES
# ------------------------------------------------------------------------------
@ -20,7 +26,7 @@ CACHES = {
"default": {
"BACKEND": "django.core.cache.backends.locmem.LocMemCache",
"LOCATION": "",
}
},
}
# EMAIL
@ -37,7 +43,9 @@ EMAIL_HOST = "localhost"
EMAIL_PORT = 1025
{%- else -%}
# https://docs.djangoproject.com/en/dev/ref/settings/#email-backend
EMAIL_BACKEND = env("DJANGO_EMAIL_BACKEND", default="django.core.mail.backends.console.EmailBackend")
EMAIL_BACKEND = env(
"DJANGO_EMAIL_BACKEND", default="django.core.mail.backends.console.EmailBackend",
)
{%- endif %}
{%- if cookiecutter.use_whitenoise == 'y' %}
@ -45,18 +53,23 @@ EMAIL_BACKEND = env("DJANGO_EMAIL_BACKEND", default="django.core.mail.backends.c
# WhiteNoise
# ------------------------------------------------------------------------------
# http://whitenoise.evans.io/en/latest/django.html#using-whitenoise-in-development
INSTALLED_APPS = ["whitenoise.runserver_nostatic"] + INSTALLED_APPS # noqa: F405
INSTALLED_APPS = ["whitenoise.runserver_nostatic", *INSTALLED_APPS]
{% endif %}
# django-debug-toolbar
# ------------------------------------------------------------------------------
# https://django-debug-toolbar.readthedocs.io/en/latest/installation.html#prerequisites
INSTALLED_APPS += ["debug_toolbar"] # noqa: F405
INSTALLED_APPS += ["debug_toolbar"]
# https://django-debug-toolbar.readthedocs.io/en/latest/installation.html#middleware
MIDDLEWARE += ["debug_toolbar.middleware.DebugToolbarMiddleware"] # noqa: F405
MIDDLEWARE += ["debug_toolbar.middleware.DebugToolbarMiddleware"]
# https://django-debug-toolbar.readthedocs.io/en/latest/configuration.html#debug-toolbar-config
DEBUG_TOOLBAR_CONFIG = {
"DISABLE_PANELS": ["debug_toolbar.panels.redirects.RedirectsPanel"],
"DISABLE_PANELS": [
"debug_toolbar.panels.redirects.RedirectsPanel",
# Disable profiling panel due to an issue with Python 3.12:
# https://github.com/jazzband/django-debug-toolbar/issues/1875
"debug_toolbar.panels.profiling.ProfilingPanel",
],
"SHOW_TEMPLATE_CONTEXT": True,
}
# https://django-debug-toolbar.readthedocs.io/en/latest/installation.html#internal-ips
@ -75,12 +88,21 @@ if env("USE_DOCKER") == "yes":
# The node container isn't started (yet?)
pass
{%- endif %}
{%- if cookiecutter.windows == 'y' %}
# RunServerPlus
# ------------------------------------------------------------------------------
# This is a custom setting for RunServerPlus to fix reloader issue in Windows docker environment
# Werkzeug reloader type [auto, watchdog, or stat]
RUNSERVERPLUS_POLLER_RELOADER_TYPE = 'stat'
# If you have CPU and IO load issues, you can increase this poller interval e.g) 5
RUNSERVERPLUS_POLLER_RELOADER_INTERVAL = 1
{%- endif %}
{%- endif %}
# django-extensions
# ------------------------------------------------------------------------------
# https://django-extensions.readthedocs.io/en/latest/installation_instructions.html#configuration
INSTALLED_APPS += ["django_extensions"] # noqa: F405
INSTALLED_APPS += ["django_extensions"]
{% if cookiecutter.use_celery == 'y' -%}
# Celery
@ -96,7 +118,7 @@ CELERY_TASK_EAGER_PROPAGATES = True
{%- if cookiecutter.frontend_pipeline == 'Webpack' %}
# django-webpack-loader
# ------------------------------------------------------------------------------
WEBPACK_LOADER["DEFAULT"]["CACHE"] = not DEBUG # noqa: F405
WEBPACK_LOADER["DEFAULT"]["CACHE"] = not DEBUG
{%- endif %}
# Your stuff...

View File

@ -1,3 +1,4 @@
# ruff: noqa: E501
{% if cookiecutter.use_sentry == 'y' -%}
import logging
@ -12,7 +13,13 @@ from sentry_sdk.integrations.logging import LoggingIntegration
from sentry_sdk.integrations.redis import RedisIntegration
{% endif -%}
from .base import * # noqa
from .base import * # noqa: F403
from .base import DATABASES
from .base import INSTALLED_APPS
from .base import REDIS_URL
{%- if cookiecutter.use_drf == "y" %}
from .base import SPECTACULAR_SETTINGS
{%- endif %}
from .base import env
# GENERAL
@ -24,21 +31,21 @@ ALLOWED_HOSTS = env.list("DJANGO_ALLOWED_HOSTS", default=["{{ cookiecutter.domai
# DATABASES
# ------------------------------------------------------------------------------
DATABASES["default"]["CONN_MAX_AGE"] = env.int("CONN_MAX_AGE", default=60) # noqa: F405
DATABASES["default"]["CONN_MAX_AGE"] = env.int("CONN_MAX_AGE", default=60)
# CACHES
# ------------------------------------------------------------------------------
CACHES = {
"default": {
"BACKEND": "django_redis.cache.RedisCache",
"LOCATION": env("REDIS_URL"),
"LOCATION": REDIS_URL,
"OPTIONS": {
"CLIENT_CLASS": "django_redis.client.DefaultClient",
# Mimicing memcache behavior.
# Mimicking memcache behavior.
# https://github.com/jazzband/django-redis#memcached-exceptions-behavior
"IGNORE_EXCEPTIONS": True,
},
}
},
}
# SECURITY
@ -49,25 +56,29 @@ SECURE_PROXY_SSL_HEADER = ("HTTP_X_FORWARDED_PROTO", "https")
SECURE_SSL_REDIRECT = env.bool("DJANGO_SECURE_SSL_REDIRECT", default=True)
# https://docs.djangoproject.com/en/dev/ref/settings/#session-cookie-secure
SESSION_COOKIE_SECURE = True
# https://docs.djangoproject.com/en/dev/ref/settings/#session-cookie-name
SESSION_COOKIE_NAME = "__Secure-sessionid"
# https://docs.djangoproject.com/en/dev/ref/settings/#csrf-cookie-secure
CSRF_COOKIE_SECURE = True
# https://docs.djangoproject.com/en/dev/ref/settings/#csrf-cookie-name
CSRF_COOKIE_NAME = "__Secure-csrftoken"
# https://docs.djangoproject.com/en/dev/topics/security/#ssl-https
# https://docs.djangoproject.com/en/dev/ref/settings/#secure-hsts-seconds
# TODO: set this to 60 seconds first and then to 518400 once you prove the former works
SECURE_HSTS_SECONDS = 60
# https://docs.djangoproject.com/en/dev/ref/settings/#secure-hsts-include-subdomains
SECURE_HSTS_INCLUDE_SUBDOMAINS = env.bool("DJANGO_SECURE_HSTS_INCLUDE_SUBDOMAINS", default=True)
SECURE_HSTS_INCLUDE_SUBDOMAINS = env.bool(
"DJANGO_SECURE_HSTS_INCLUDE_SUBDOMAINS",
default=True,
)
# https://docs.djangoproject.com/en/dev/ref/settings/#secure-hsts-preload
SECURE_HSTS_PRELOAD = env.bool("DJANGO_SECURE_HSTS_PRELOAD", default=True)
# https://docs.djangoproject.com/en/dev/ref/middleware/#x-content-type-options-nosniff
SECURE_CONTENT_TYPE_NOSNIFF = env.bool("DJANGO_SECURE_CONTENT_TYPE_NOSNIFF", default=True)
SECURE_CONTENT_TYPE_NOSNIFF = env.bool(
"DJANGO_SECURE_CONTENT_TYPE_NOSNIFF",
default=True,
)
{% if cookiecutter.cloud_provider != 'None' -%}
# STORAGES
# ------------------------------------------------------------------------------
# https://django-storages.readthedocs.io/en/latest/#installation
INSTALLED_APPS += ["storages"] # noqa: F405
{%- endif -%}
{% if cookiecutter.cloud_provider == 'AWS' %}
# https://django-storages.readthedocs.io/en/latest/backends/amazon-S3.html#settings
AWS_ACCESS_KEY_ID = env("DJANGO_AWS_ACCESS_KEY_ID")
@ -103,35 +114,99 @@ AZURE_CONTAINER = env("DJANGO_AZURE_CONTAINER_NAME")
{% endif -%}
{% if cookiecutter.cloud_provider != 'None' or cookiecutter.use_whitenoise == 'y' -%}
# STATIC
# STATIC & MEDIA
# ------------------------
{% endif -%}
{% if cookiecutter.use_whitenoise == 'y' -%}
STATICFILES_STORAGE = "whitenoise.storage.CompressedManifestStaticFilesStorage"
{% elif cookiecutter.cloud_provider == 'AWS' -%}
STATICFILES_STORAGE = "{{cookiecutter.project_slug}}.utils.storages.StaticS3Storage"
COLLECTFAST_STRATEGY = "collectfast.strategies.boto3.Boto3Strategy"
STATIC_URL = f"https://{aws_s3_domain}/static/"
{% elif cookiecutter.cloud_provider == 'GCP' -%}
STATICFILES_STORAGE = "{{cookiecutter.project_slug}}.utils.storages.StaticGoogleCloudStorage"
COLLECTFAST_STRATEGY = "collectfast.strategies.gcloud.GoogleCloudStrategy"
STATIC_URL = f"https://storage.googleapis.com/{GS_BUCKET_NAME}/static/"
{% elif cookiecutter.cloud_provider == 'Azure' -%}
STATICFILES_STORAGE = "{{cookiecutter.project_slug}}.utils.storages.StaticAzureStorage"
STATIC_URL = f"https://{AZURE_ACCOUNT_NAME}.blob.core.windows.net/static/"
{% endif -%}
# MEDIA
# ------------------------------------------------------------------------------
{%- if cookiecutter.cloud_provider == 'AWS' %}
DEFAULT_FILE_STORAGE = "{{cookiecutter.project_slug}}.utils.storages.MediaS3Storage"
MEDIA_URL = f"https://{aws_s3_domain}/media/"
STORAGES = {
{%- if cookiecutter.use_whitenoise == 'y' and cookiecutter.cloud_provider == 'None' %}
"default": {
"BACKEND": "django.core.files.storage.FileSystemStorage",
},
"staticfiles": {
"BACKEND": "whitenoise.storage.CompressedManifestStaticFilesStorage",
},
{%- elif cookiecutter.cloud_provider == 'AWS' %}
"default": {
"BACKEND": "storages.backends.s3.S3Storage",
"OPTIONS": {
"location": "media",
"file_overwrite": False,
},
},
{%- if cookiecutter.use_whitenoise == 'y' %}
"staticfiles": {
"BACKEND": "whitenoise.storage.CompressedManifestStaticFilesStorage",
},
{%- else %}
"staticfiles": {
"BACKEND": "storages.backends.s3.S3Storage",
"OPTIONS": {
"location": "static",
"default_acl": "public-read",
},
},
{%- endif %}
{%- elif cookiecutter.cloud_provider == 'GCP' %}
DEFAULT_FILE_STORAGE = "{{cookiecutter.project_slug}}.utils.storages.MediaGoogleCloudStorage"
MEDIA_URL = f"https://storage.googleapis.com/{GS_BUCKET_NAME}/media/"
"default": {
"BACKEND": "storages.backends.gcloud.GoogleCloudStorage",
"OPTIONS": {
"location": "media",
"file_overwrite": False,
},
},
{%- if cookiecutter.use_whitenoise == 'y' %}
"staticfiles": {
"BACKEND": "whitenoise.storage.CompressedManifestStaticFilesStorage",
},
{%- else %}
"staticfiles": {
"BACKEND": "storages.backends.gcloud.GoogleCloudStorage",
"OPTIONS": {
"location": "static",
"default_acl": "publicRead",
},
},
{%- endif %}
{%- elif cookiecutter.cloud_provider == 'Azure' %}
"default": {
"BACKEND": "storages.backends.azure_storage.AzureStorage",
"OPTIONS": {
"location": "media",
"overwrite_files": False,
},
},
{%- if cookiecutter.use_whitenoise == 'y' %}
"staticfiles": {
"BACKEND": "whitenoise.storage.CompressedManifestStaticFilesStorage",
},
{%- else %}
"staticfiles": {
"BACKEND": "storages.backends.azure_storage.AzureStorage",
"OPTIONS": {
"location": "static",
},
},
{%- endif %}
{%- endif %}
}
{%- endif %}
{%- if cookiecutter.cloud_provider == 'AWS' %}
MEDIA_URL = f"https://{aws_s3_domain}/media/"
{%- if cookiecutter.use_whitenoise == 'n' %}
COLLECTFASTA_STRATEGY = "collectfasta.strategies.boto3.Boto3Strategy"
STATIC_URL = f"https://{aws_s3_domain}/static/"
{%- endif %}
{%- elif cookiecutter.cloud_provider == 'GCP' %}
MEDIA_URL = f"https://storage.googleapis.com/{GS_BUCKET_NAME}/media/"
{%- if cookiecutter.use_whitenoise == 'n' %}
COLLECTFASTA_STRATEGY = "collectfasta.strategies.gcloud.GoogleCloudStrategy"
STATIC_URL = f"https://storage.googleapis.com/{GS_BUCKET_NAME}/static/"
{%- endif %}
{%- elif cookiecutter.cloud_provider == 'Azure' %}
DEFAULT_FILE_STORAGE = "{{cookiecutter.project_slug}}.utils.storages.MediaAzureStorage"
MEDIA_URL = f"https://{AZURE_ACCOUNT_NAME}.blob.core.windows.net/media/"
{%- if cookiecutter.use_whitenoise == 'n' %}
STATIC_URL = f"https://{AZURE_ACCOUNT_NAME}.blob.core.windows.net/static/"
{%- endif %}
{%- endif %}
# EMAIL
@ -148,6 +223,7 @@ EMAIL_SUBJECT_PREFIX = env(
"DJANGO_EMAIL_SUBJECT_PREFIX",
default="[{{cookiecutter.project_name}}] ",
)
ACCOUNT_EMAIL_SUBJECT_PREFIX = EMAIL_SUBJECT_PREFIX
# ADMIN
# ------------------------------------------------------------------------------
@ -157,7 +233,7 @@ ADMIN_URL = env("DJANGO_ADMIN_URL")
# Anymail
# ------------------------------------------------------------------------------
# https://anymail.readthedocs.io/en/stable/installation/#installing-anymail
INSTALLED_APPS += ["anymail"] # noqa: F405
INSTALLED_APPS += ["anymail"]
# https://docs.djangoproject.com/en/dev/ref/settings/#email-backend
# https://anymail.readthedocs.io/en/stable/installation/#anymail-settings-reference
{%- if cookiecutter.mail_service == 'Mailgun' %}
@ -200,12 +276,12 @@ ANYMAIL = {
"SENDGRID_API_KEY": env("SENDGRID_API_KEY"),
"SENDGRID_API_URL": env("SENDGRID_API_URL", default="https://api.sendgrid.com/v3/"),
}
{%- elif cookiecutter.mail_service == 'SendinBlue' %}
# https://anymail.readthedocs.io/en/stable/esps/sendinblue/
EMAIL_BACKEND = "anymail.backends.sendinblue.EmailBackend"
{%- elif cookiecutter.mail_service == 'Brevo' %}
# https://anymail.readthedocs.io/en/stable/esps/brevo/
EMAIL_BACKEND = "anymail.backends.brevo.EmailBackend"
ANYMAIL = {
"SENDINBLUE_API_KEY": env("SENDINBLUE_API_KEY"),
"SENDINBLUE_API_URL": env("SENDINBLUE_API_URL", default="https://api.sendinblue.com/v3/"),
"BREVO_API_KEY": env("BREVO_API_KEY"),
"BREVO_API_URL": env("BREVO_API_URL", default="https://api.brevo.com/v3/"),
}
{%- elif cookiecutter.mail_service == 'SparkPost' %}
# https://anymail.readthedocs.io/en/stable/esps/sparkpost/
@ -230,10 +306,11 @@ COMPRESS_ENABLED = env.bool("COMPRESS_ENABLED", default=True)
COMPRESS_STORAGE = "compressor.storage.GzipCompressorFileStorage"
{%- elif cookiecutter.cloud_provider in ('AWS', 'GCP', 'Azure') and cookiecutter.use_whitenoise == 'n' %}
# https://django-compressor.readthedocs.io/en/latest/settings/#django.conf.settings.COMPRESS_STORAGE
COMPRESS_STORAGE = STATICFILES_STORAGE
COMPRESS_STORAGE = STORAGES["staticfiles"]["BACKEND"]
{%- endif %}
# https://django-compressor.readthedocs.io/en/latest/settings/#django.conf.settings.COMPRESS_URL
COMPRESS_URL = STATIC_URL{% if cookiecutter.use_whitenoise == 'y' or cookiecutter.cloud_provider == 'None' %} # noqa: F405{% endif %}
COMPRESS_URL = STATIC_URL{% if cookiecutter.use_whitenoise == 'y' or cookiecutter.cloud_provider == 'None' %} # noqa: F405
{%- endif -%}
{%- if cookiecutter.use_whitenoise == 'y' %}
# https://django-compressor.readthedocs.io/en/latest/settings/#django.conf.settings.COMPRESS_OFFLINE
COMPRESS_OFFLINE = True # Offline compression is required when using Whitenoise
@ -247,11 +324,11 @@ COMPRESS_FILTERS = {
"js": ["compressor.filters.jsmin.JSMinFilter"],
}
{% endif %}
{%- if cookiecutter.use_whitenoise == 'n' -%}
# Collectfast
{%- if cookiecutter.use_whitenoise == 'n' and cookiecutter.cloud_provider in ('AWS', 'GCP') -%}
# Collectfasta
# ------------------------------------------------------------------------------
# https://github.com/antonagestam/collectfast#installation
INSTALLED_APPS = ["collectfast"] + INSTALLED_APPS # noqa: F405
# https://github.com/jasongi/collectfasta#installation
INSTALLED_APPS = ["collectfasta", *INSTALLED_APPS]
{% endif %}
# LOGGING
# ------------------------------------------------------------------------------
@ -311,7 +388,7 @@ LOGGING = {
"level": "DEBUG",
"class": "logging.StreamHandler",
"formatter": "verbose",
}
},
},
"root": {"level": "INFO", "handlers": ["console"]},
"loggers": {
@ -363,7 +440,7 @@ sentry_sdk.init(
# django-rest-framework
# -------------------------------------------------------------------------------
# Tools that generate code samples can use SERVERS to point to the correct domain
SPECTACULAR_SETTINGS["SERVERS"] = [ # noqa: F405
SPECTACULAR_SETTINGS["SERVERS"] = [
{"url": "https://{{ cookiecutter.domain_name }}", "description": "Production server"},
]

View File

@ -2,7 +2,8 @@
With these settings, tests run faster.
"""
from .base import * # noqa
from .base import * # noqa: F403
from .base import TEMPLATES
from .base import env
# GENERAL
@ -27,17 +28,17 @@ EMAIL_BACKEND = "django.core.mail.backends.locmem.EmailBackend"
# DEBUGGING FOR TEMPLATES
# ------------------------------------------------------------------------------
TEMPLATES[0]["OPTIONS"]["debug"] = True # type: ignore # noqa: F405
TEMPLATES[0]["OPTIONS"]["debug"] = True # type: ignore[index]
# MEDIA
# ------------------------------------------------------------------------------
# https://docs.djangoproject.com/en/dev/ref/settings/#media-url
MEDIA_URL = 'http://media.testserver'
MEDIA_URL = "http://media.testserver/"
{%- if cookiecutter.frontend_pipeline == 'Webpack' %}
# django-webpack-loader
# ------------------------------------------------------------------------------
WEBPACK_LOADER["DEFAULT"]["LOADER_CLASS"] = "webpack_loader.loader.FakeWebpackLoader" # noqa: F405
WEBPACK_LOADER["DEFAULT"]["LOADER_CLASS"] = "webpack_loader.loaders.FakeWebpackLoader" # noqa: F405
{%- endif %}
# Your stuff...

Some files were not shown because too many files have changed in this diff Show More