Skip to content

Commit befbf1e

Browse files
authored
Support Python 3.9, 3.10, 3.11, 3.12, 3.13 and Django 4.2, 5.1, 5.2, main (#129)
1 parent d6e22af commit befbf1e

File tree

6 files changed

+39
-35
lines changed

6 files changed

+39
-35
lines changed

.github/workflows/ci.yml

Lines changed: 21 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -44,38 +44,36 @@ jobs:
4444

4545
strategy:
4646
matrix:
47-
python-version: [3.8, 3.9, "3.10", 3.11, 3.12]
48-
django-version: [4.2, 5.0, 5.1b1, master]
47+
python-version: [3.9, "3.10", 3.11, 3.12, 3.13]
48+
django-version: [4.2, 5.1, 5.2, "main"]
4949
postgres-version: ["postgres:13.13", "postgres:14"]
5050
exclude:
5151
# Django 4.2
52-
- python-version: 3.12
53-
django-version: 4.2
52+
- django-version: 4.2
53+
python-version: 3.13
5454
- django-version: 4.2
5555
postgres-version: postgres:13.13
5656

57-
# Django 5.0
58-
- python-version: 3.8
59-
django-version: 5.0
57+
# Django 5.1
6058
- python-version: 3.9
61-
django-version: 5.0
62-
- django-version: 5.0
59+
django-version: 5.1
60+
- django-version: 5.1
6361
postgres-version: postgres:13.13
6462

65-
# Django 5.1b1
66-
- python-version: 3.8
67-
django-version: 5.1b1
63+
# Django 5.2
6864
- python-version: 3.9
69-
django-version: 5.1b1
70-
- django-version: 5.1
65+
django-version: 5.2
66+
- django-version: 5.2
7167
postgres-version: postgres:13.13
7268

73-
# master
74-
- python-version: 3.8
75-
django-version: master
69+
# Django main (6.0)
7670
- python-version: 3.9
77-
django-version: master
78-
- django-version: master
71+
django-version: main
72+
- python-version: "3.10"
73+
django-version: main
74+
- python-version: 3.11
75+
django-version: main
76+
- django-version: main
7977
postgres-version: postgres:13.13
8078
services:
8179
postgres:
@@ -93,10 +91,10 @@ jobs:
9391
python-version: ${{ matrix.python-version }}
9492
- uses: actions/checkout@v4
9593
- run: python -m pip install Django==${{ matrix.django-version }}
96-
if: matrix.django-version != 'master'
97-
- run: python -m pip install https://github.com/django/django/archive/master.tar.gz
98-
if: matrix.django-version == 'master'
94+
if: matrix.django-version != 'main'
95+
- run: python -m pip install https://github.com/django/django/archive/main.tar.gz
96+
if: matrix.django-version == 'main'
9997
- run: |
10098
python -m pip install coverage
101-
python -m pip install psycopg==3.1.8
99+
python -m pip install psycopg==3.1.12
102100
- run: coverage run --source=modeltrans manage.py test

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Python binaries
22
*.pyc
33

4-
.env
4+
.env*
55
.python-version
66
pip-wheel-metadata
77
.tox

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
django-modeltrans change log
22
============================
33

4+
## In development
5+
- Support Python 3.9, 3.10, 3.11, 3.12, 3.13 and Django 4.2, 5.1, 5.2 and main (#129).
6+
47
## 0.8.0 (2024-07-02)
58
- Add `JSONField` support (#119) refs: #118 by @jacobwegner
69
- Add `MODELTRANS_DEFAULT_LANGUAGE` setting (#117) by @jacobwegner

setup.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,19 +39,19 @@
3939
"Environment :: Web Environment",
4040
"Framework :: Django",
4141
"Framework :: Django :: 4.2",
42-
"Framework :: Django :: 5.0",
4342
"Framework :: Django :: 5.1",
43+
"Framework :: Django :: 5.2",
4444
"Intended Audience :: Developers",
4545
"License :: OSI Approved :: BSD License",
4646
"Operating System :: OS Independent",
4747
"Programming Language :: Python",
4848
"Programming Language :: Python :: 3",
4949
"Programming Language :: Python :: 3 :: Only",
50-
"Programming Language :: Python :: 3.8",
5150
"Programming Language :: Python :: 3.9",
5251
"Programming Language :: Python :: 3.10",
5352
"Programming Language :: Python :: 3.11",
5453
"Programming Language :: Python :: 3.12",
54+
"Programming Language :: Python :: 3.13",
5555
"Topic :: Internet :: WWW/HTTP",
5656
"Topic :: Software Development :: Libraries",
5757
],

tests/test_translating.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,8 @@ class RequiredLanguagesType_dict(models.Model):
7171
body = models.CharField(max_length=100)
7272

7373
i18n = TranslationField(
74-
fields=("title", "body"), required_languages={"body": ["nl"], "title": ["fr", "nl"]}
74+
fields=("title", "body"),
75+
required_languages={"body": ["nl"], "title": ["fr", "nl"]},
7576
)
7677

7778
class Meta:
@@ -290,7 +291,8 @@ def test_limit_choices_to(self):
290291
comment = app_models.Comment.objects.create(post=published_post, text="foo")
291292
self.assertIsNotNone(comment.pk)
292293

293-
if django.get_version().startswith("5.2"):
294+
# Remove if we no longer support Django 4.2, Django 5.1
295+
if django.get_version() >= "5.2":
294296
expected = f"post instance with id {unpublished_post.pk} is not a valid choice."
295297
else:
296298
expected = f"post instance with id {unpublished_post.pk} does not exist"

tox.ini

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22
[tox]
33
args_are_paths = false
44
envlist =
5-
py38-{4.2},
65
py39-{4.2},
7-
py310-{4.2,5.0,master},
8-
py311-{4.2,5.0,master},
9-
py311-{4.2,5.0,master},
6+
py310-{4.2,5.1,5.2},
7+
py311-{4.2,5.1,5.2},
8+
py312-{4.2,5.1,5.2,main},
9+
py313-{5.1,5.2,main},
1010
migrate,
1111
flake8,
1212
isort,
@@ -15,11 +15,11 @@ envlist =
1515

1616
[testenv]
1717
basepython =
18-
py38: python3.8
1918
py39: python3.9
2019
py310: python3.10
2120
py311: python3.11
2221
py312: python3.12
22+
py312: python3.13
2323
usedevelop = true
2424
pip_pre = true
2525
setenv =
@@ -30,8 +30,9 @@ commands =
3030
coverage run ./manage.py test --no-input
3131
deps =
3232
4.2: Django==4.2.*
33-
5.0: Django==5.0.*
34-
master: https://github.com/django/django/archive/master.tar.gz
33+
5.1: Django==5.1.*
34+
5.2: Django==5.2.*
35+
main: https://github.com/django/django/archive/main.tar.gz
3536
psycopg
3637
coverage
3738

0 commit comments

Comments
 (0)