Skip to content

Commit ba7fcd5

Browse files
committed
Upgrade dependencies including Django -> 5.2
- Upgrades to psycopg(3) - Upgrades Django 4.2 -> 5.2 - Relies on the PR for Python 3.14
1 parent a337b83 commit ba7fcd5

File tree

8 files changed

+42
-37
lines changed

8 files changed

+42
-37
lines changed

.coveragerc

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
[run]
2-
branch: True
2+
branch = True
3+
# Currently, Python3.14 defaults to sysmon which is incompatible with coverage plugins
4+
# https://coverage.readthedocs.io/en/7.11.0/config.html#run-core
5+
# https://github.com/nedbat/coveragepy/issues/1790
6+
# https://github.com/nedbat/django_coverage_plugin/issues/102
7+
core = ctrace
38
source =
49
config
510
pythonsd

.pre-commit-config.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
repos:
22
- repo: https://github.com/pre-commit/pre-commit-hooks
3-
rev: v4.3.0
3+
rev: v6.0.0
44
hooks:
55
- id: check-yaml
66
- id: end-of-file-fixer
77
- id: trailing-whitespace
88
- repo: https://github.com/psf/black-pre-commit-mirror
9-
rev: 24.4.2
9+
rev: 25.9.0
1010
hooks:
1111
- id: black
1212
# Since the pre-commit runs on a file by file basis rather than a whole project,

config/settings/base.py

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
Django settings for pythonsd project.
33
44
For more information on this file, see
5-
https://docs.djangoproject.com/en/4.2/topics/settings/
5+
https://docs.djangoproject.com/en/dev/topics/settings/
66
77
For the full list of settings and their values, see
8-
https://docs.djangoproject.com/en/4.2/ref/settings/
8+
https://docs.djangoproject.com/en/dev/ref/settings/
99
"""
1010

1111
import json
@@ -20,7 +20,7 @@
2020

2121

2222
# Quick-start development settings - unsuitable for production
23-
# https://docs.djangoproject.com/en/4.2/howto/deployment/checklist/
23+
# https://docs.djangoproject.com/en/dev/howto/deployment/checklist/
2424

2525
# SECURITY WARNING: keep the secret key used in production secret!
2626
# SECURITY WARNING: don't run with debug turned on in production!
@@ -82,14 +82,14 @@
8282

8383

8484
# Database
85-
# https://docs.djangoproject.com/en/4.2/ref/settings/#databases
85+
# https://docs.djangoproject.com/en/dev/ref/settings/#databases
8686
# --------------------------------------------------------------------------
8787
DATABASES = {"default": dj_database_url.config(default="sqlite:///db.sqlite3")}
8888
DEFAULT_AUTO_FIELD = "django.db.models.BigAutoField"
8989

9090

9191
# Internationalization
92-
# https://docs.djangoproject.com/en/4.2/topics/i18n/
92+
# https://docs.djangoproject.com/en/dev/topics/i18n/
9393
# --------------------------------------------------------------------------
9494
LANGUAGE_CODE = "en-us"
9595

@@ -101,8 +101,8 @@
101101

102102

103103
# Static files (CSS, JavaScript, Images)
104-
# https://docs.djangoproject.com/en/4.2/howto/static-files/
105-
# https://docs.djangoproject.com/en/4.2/ref/settings/#std-setting-STORAGES
104+
# https://docs.djangoproject.com/en/dev/howto/static-files/
105+
# https://docs.djangoproject.com/en/dev/ref/settings/#std-setting-STORAGES
106106
# --------------------------------------------------------------------------
107107
STATIC_ROOT = os.path.join(BASE_DIR, "staticfiles")
108108
STATIC_URL = "/static-files/"
@@ -127,15 +127,15 @@
127127

128128

129129
# Email
130-
# https://docs.djangoproject.com/en/4.2/topics/email/
130+
# https://docs.djangoproject.com/en/dev/topics/email/
131131
# --------------------------------------------------------------------------
132132
EMAIL_BACKEND = "django.core.mail.backends.console.EmailBackend"
133133
DEFAULT_FROM_EMAIL = "[email protected]"
134134
SERVER_EMAIL = DEFAULT_FROM_EMAIL
135135

136136

137137
# Caching
138-
# https://docs.djangoproject.com/en/4.2/ref/settings/#caches
138+
# https://docs.djangoproject.com/en/dev/ref/settings/#caches
139139
# --------------------------------------------------------------------------
140140
CACHES = {
141141
"default": {
@@ -148,8 +148,8 @@
148148
# A sample logging configuration. The only tangible logging
149149
# performed by this configuration is to send an email to
150150
# the site admins on every HTTP 500 error when DEBUG=False.
151-
# http://docs.djangoproject.com/en/4.2/topics/logging
152-
# https://docs.djangoproject.com/en/4.2/ref/settings/#logging
151+
# http://docs.djangoproject.com/en/dev/topics/logging
152+
# https://docs.djangoproject.com/en/dev/ref/settings/#logging
153153
# --------------------------------------------------------------------------
154154
LOGGING = {
155155
"version": 1,

config/settings/prod.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
from .base import * # noqa
1313

1414

15-
# See https://docs.djangoproject.com/en/4.2/howto/deployment/checklist/
15+
# See https://docs.djangoproject.com/en/dev/howto/deployment/checklist/
1616

1717
DEBUG = False
1818
SECRET_KEY = os.environ["SECRET_KEY"]
@@ -51,15 +51,15 @@
5151

5252

5353
# Database
54-
# https://docs.djangoproject.com/en/4.2/ref/settings/#databases
54+
# https://docs.djangoproject.com/en/dev/ref/settings/#databases
5555
# --------------------------------------------------------------------------
5656
DATABASES = {"default": dj_database_url.config()}
5757
DATABASES["default"]["ATOMIC_REQUESTS"] = True
5858
DATABASES["default"]["CONN_MAX_AGE"] = 600
5959

6060

6161
# Security
62-
# https://docs.djangoproject.com/en/4.2/topics/security/
62+
# https://docs.djangoproject.com/en/dev/topics/security/
6363
# --------------------------------------------------------------------------
6464
if "SECURE_SSL_HOST" in os.environ:
6565
SECURE_PROXY_SSL_HEADER = ("HTTP_X_FORWARDED_PROTO", "https")
@@ -82,14 +82,14 @@
8282

8383

8484
# Sessions
85-
# https://docs.djangoproject.com/en/4.2/topics/http/sessions/
85+
# https://docs.djangoproject.com/en/dev/topics/http/sessions/
8686
# Don't put sessions in the database
8787

8888
SESSION_ENGINE = "django.contrib.sessions.backends.signed_cookies"
8989

9090

9191
# Email
92-
# https://docs.djangoproject.com/en/4.2/topics/email/
92+
# https://docs.djangoproject.com/en/dev/topics/email/
9393
# https://anymail.readthedocs.io/en/stable/
9494
# --------------------------------------------------------------------------
9595
if "SENDGRID_API_KEY" in os.environ:
@@ -99,7 +99,7 @@
9999

100100

101101
# Logging
102-
# http://docs.djangoproject.com/en/4.2/topics/logging
102+
# http://docs.djangoproject.com/en/dev/topics/logging
103103
# --------------------------------------------------------------------------
104104
LOGGING["loggers"][""]["level"] = "INFO"
105105
LOGGING["loggers"]["pythonsd"]["level"] = "INFO"

config/wsgi.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
It exposes the WSGI callable as a module-level variable named ``application``.
55
66
For more information on this file, see
7-
https://docs.djangoproject.com/en/4.2/howto/deployment/wsgi/
7+
https://docs.djangoproject.com/en/dev/howto/deployment/wsgi/
88
"""
99

1010
import os

requirements/common.txt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
# Helper for transforming a database URL envvar
22
# to a Django connection string
3-
dj-database-url==2.2.0
3+
dj-database-url==3.0.1
44

55
# This is a Django app
6-
Django==4.2.25
6+
Django==5.2.7
77

88
# A zero dependency WSGI server
99
gunicorn==23.0.0
1010

1111
# For connecting to various APIs (eg. Meetup.com)
12-
requests==2.32.4
12+
requests==2.32.5
1313

1414
# For serving static assets from the WSGI server
15-
whitenoise==6.5.0
15+
whitenoise==6.11.0
1616

1717
# Redirects requests to other hosts to this one
1818
django-enforce-host==1.1.0
@@ -21,4 +21,4 @@ django-enforce-host==1.1.0
2121
defusedxml==0.7.1
2222

2323
# Used for image field handling
24-
pillow==11.3.0
24+
pillow==12.0.0

requirements/deployment.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22

33
# Database server
44
# https://www.psycopg.org/docs/install.html#install-from-source
5-
psycopg2==2.9.10
5+
psycopg[binary]==3.2.12
66

77
# Email
8-
django-anymail==10.3
8+
django-anymail==13.1
99

1010
# Cloud storage for media storage (S3, R2, etc.)
11-
django-storages[s3]==1.14.3
11+
django-storages[s3]==1.14.6

requirements/local.txt

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
-r common.txt
22

33
# Used for code formatting
4-
black==24.4.2
5-
pre-commit==3.7.1
4+
black==25.9.0
5+
pre-commit==4.3.0
66

77
# Used for code coverage
8-
coverage==7.5.1
9-
django_coverage_plugin==3.1.0
8+
coverage==7.11.0
9+
django_coverage_plugin==3.2.0
1010

1111
# Used in local testing
12-
WebTest==3.0.0
13-
beautifulsoup4==4.12.3
12+
WebTest==3.0.7
13+
beautifulsoup4==4.14.2
1414
WebOb==1.8.9
15-
responses==0.25.0
15+
responses==0.25.8
1616

1717
# Used to help with Django related debugging
18-
django-debug-toolbar==4.3.0
18+
django-debug-toolbar==6.0.0
1919

2020
tox>=4.0,<5.0

0 commit comments

Comments
 (0)