Skip to content

Commit ac740e0

Browse files
authored
Support for Python 3.12 and up (#143)
* support for Python 3.12 and up * removed unused deprecated ugettext imports * fix django main being Python 3.12+ * missed some copypaste
1 parent 233a401 commit ac740e0

File tree

9 files changed

+48
-48
lines changed

9 files changed

+48
-48
lines changed

.coveragerc

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@ source = dbtemplates
33
branch = 1
44

55
[report]
6-
omit = *tests*,*migrations*
6+
omit = *tests*,*/migrations/*,test_*

.github/workflows/test.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ jobs:
99
fail-fast: false
1010
max-parallel: 5
1111
matrix:
12-
python-version: ['3.7', '3.8', '3.9', '3.10', '3.11-dev']
12+
python-version: ['3.8', '3.9', '3.10', '3.11', '3.13']
1313

1414
steps:
1515
- uses: actions/checkout@v3

dbtemplates/__init__.py

+2-9
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,3 @@
1-
from pkg_resources import get_distribution, DistributionNotFound
1+
import importlib.metadata
22

3-
try:
4-
__version__ = get_distribution("django-dbtemplates").version
5-
except DistributionNotFound:
6-
# package is not installed
7-
__version__ = None
8-
9-
10-
default_app_config = 'dbtemplates.apps.DBTemplatesConfig'
3+
__version__ = importlib.metadata.version("django-dbtemplates")

dbtemplates/admin.py

+2-9
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,8 @@
22
from django import forms
33
from django.contrib import admin
44
from django.core.exceptions import ImproperlyConfigured
5-
try:
6-
# Django 4.0
7-
from django.utils.translation import gettext_lazy as _
8-
from django.utils.translation import ngettext
9-
except ImportError:
10-
# Before Django 4.0
11-
from django.utils.translation import ugettext_lazy as _
12-
from django.utils.translation import ungettext as ngettext
13-
5+
from django.utils.translation import gettext_lazy as _
6+
from django.utils.translation import ngettext
147
from django.utils.safestring import mark_safe
158

169
from dbtemplates.conf import settings

dbtemplates/apps.py

+1-4
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
from django.apps import AppConfig
2-
try:
3-
from django.utils.translation import ugettext_lazy as _
4-
except ImportError:
5-
from django.utils.translation import gettext_lazy as _
2+
from django.utils.translation import gettext_lazy as _
63

74

85
class DBTemplatesConfig(AppConfig):

dbtemplates/models.py

+6-9
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,16 @@
11
from dbtemplates.conf import settings
2-
from dbtemplates.utils.cache import (add_template_to_cache,
3-
remove_cached_template)
2+
from dbtemplates.utils.cache import (
3+
add_template_to_cache,
4+
remove_cached_template,
5+
)
46
from dbtemplates.utils.template import get_template_source
7+
58
from django.contrib.sites.managers import CurrentSiteManager
69
from django.contrib.sites.models import Site
710
from django.db import models
811
from django.db.models import signals
912
from django.template import TemplateDoesNotExist
10-
try:
11-
# Django >= 4.0
12-
from django.utils.translation import gettext_lazy as _
13-
except ImportError:
14-
# Django 3.2
15-
from django.utils.translation import ugettext_lazy as _
16-
13+
from django.utils.translation import gettext_lazy as _
1714
from django.utils.timezone import now
1815

1916

docs/changelog.txt

+14-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,20 @@
11
Changelog
22
=========
33

4-
v4.0 (unreleased)
4+
v5.0 (unreleased)
5+
-----------------
6+
7+
.. warning::
8+
9+
This is a backwards-incompatible release!
10+
11+
* Dropped support for Python 3.7 and Django < 4.2.
12+
13+
* Added support for Python 3.11, 3.12, 3.13.
14+
15+
* Django 5.x support
16+
17+
v4.0 (2022-09-3)
518
-----------------
619

720
.. warning::

setup.py

+4-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
import os
2-
import io
32
from setuptools import setup, find_packages
43

54

@@ -36,13 +35,15 @@ def read(*parts):
3635
"Programming Language :: Python",
3736
"Programming Language :: Python :: 3",
3837
"Programming Language :: Python :: 3 :: Only",
39-
"Programming Language :: Python :: 3.7",
4038
"Programming Language :: Python :: 3.8",
4139
"Programming Language :: Python :: 3.9",
4240
"Programming Language :: Python :: 3.10",
41+
"Programming Language :: Python :: 3.11",
42+
"Programming Language :: Python :: 3.12",
43+
"Programming Language :: Python :: 3.13",
4344
"Framework :: Django",
4445
],
45-
python_requires=">=3.7",
46+
python_requires=">=3.8",
4647
install_requires=["django-appconf >= 0.4"],
4748
)
4849

tox.ini

+17-11
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,46 @@
11
[tox]
2-
skipsdist = True
3-
usedevelop = True
4-
minversion = 1.8
2+
minversion = 4.0
53
envlist =
64
flake8
7-
py3{7,8,9,10,11}-dj32
8-
py3{8,9,10,11}-dj{40,41,main}
5+
py3{8,9,10,11,12}-dj42
6+
py3{10,11,12}-dj{50}
7+
py3{10,11,12,13}-dj{51,52}
8+
py3{12,13}-dj{main}
99

1010
[gh-actions]
1111
python =
12-
3.7: py37
1312
3.8: py38
1413
3.9: py39
1514
3.10: py310
1615
3.10: py310, flake8
1716
3.11: py311
17+
3.12: py312
18+
3.13: py313
1819

1920
[testenv]
21+
skipsdist = true
22+
package = editable
2023
basepython =
21-
py37: python3.7
2224
py38: python3.8
2325
py39: python3.9
2426
py310: python3.10
2527
py311: python3.11
26-
usedevelop = true
28+
py312: python3.12
29+
py313: python3.13
2730
setenv =
2831
DJANGO_SETTINGS_MODULE = dbtemplates.test_settings
2932
deps =
3033
-r requirements/tests.txt
31-
dj32: Django<3.3
32-
dj40: Django<4.1
33-
dj41: Django<4.2
34+
dj42: Django<4.3
35+
dj50: Django<5.1
36+
dj51: Django<5.2
37+
# TODO change this afte Django 5.2 is out
38+
dj52: Django==5.2a1
3439
djmain: https://github.com/django/django/archive/main.tar.gz#egg=django
3540

3641
commands =
3742
python --version
43+
python -c "import django ; print(django.VERSION)"
3844
coverage run {envbindir}/django-admin test -v2 {posargs:dbtemplates}
3945
coverage report
4046
coverage xml

0 commit comments

Comments
 (0)