From 97209de25f579c9904a060fd41d959789a4d5bc5 Mon Sep 17 00:00:00 2001 From: Bruno Alla Date: Sun, 16 Feb 2025 12:07:01 +0000 Subject: [PATCH] Add support for Django 5.1 and Python 3.13 (#70) --- CHANGES.md | 2 ++ Dockerfile | 1 + setup.py | 2 ++ tox.ini | 28 +++++++++++++++------------- 4 files changed, 20 insertions(+), 13 deletions(-) diff --git a/CHANGES.md b/CHANGES.md index 0265f1b..ea62a33 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,6 +1,8 @@ # django-pg-zero-downtime-migrations changelog ## 0.17 + - added support for Python 3.13 + - added support for Django 5.1 - dropped support for Python 3.6 and 3.7 - dropped support for Django 3.2, 4.0 and 4.1 - dropped `migrate_isnotnull_check_constraints` command diff --git a/Dockerfile b/Dockerfile index c79af14..729e1c3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -14,6 +14,7 @@ RUN apt-get install -q -y --no-install-recommends \ python3.10 python3.10-distutils \ python3.11 python3.11-distutils \ python3.12 \ + python3.13 \ python3-pip \ libgdal34 \ postgresql-client diff --git a/setup.py b/setup.py index 019ea59..b8b98e9 100644 --- a/setup.py +++ b/setup.py @@ -40,9 +40,11 @@ def _get_long_description(): 'Programming Language :: Python :: 3.10', 'Programming Language :: Python :: 3.11', 'Programming Language :: Python :: 3.12', + 'Programming Language :: Python :: 3.13', 'Framework :: Django', 'Framework :: Django :: 4.2', 'Framework :: Django :: 5.0', + 'Framework :: Django :: 5.1', ], keywords='django postgres postgresql migrations', packages=find_packages(exclude=['manage*', 'tests*']), diff --git a/tox.ini b/tox.ini index c84b39b..88e4315 100644 --- a/tox.ini +++ b/tox.ini @@ -1,5 +1,6 @@ [tox] envlist = + py{3.10,3.11,3.12,3.13}-django{5.1}-psycopg{2,3} py{3.10,3.11,3.12}-django{5.0}-psycopg{2,3} py{3.8,3.9,3.10,3.11,3.12}-django{4.2}-psycopg{2,3} @@ -7,26 +8,26 @@ envlist = usedevelop = True allowlist_externals = bash commands = - py{3.12}-django{5.0}-psycopg{3}: flake8 - py{3.12}-django{5.0}-psycopg{3}: isort . --check --diff + py{3.13}-django{5.1}-psycopg{3}: flake8 + py{3.13}-django{5.1}-psycopg{3}: isort . --check --diff - py{3.8,3.9,3.10,3.11,3.12}-django{4.2,5.0}-psycopg{2,3}: bash -c "DB_HOST=pg16 DB_USER=test pytest tests/unit" - py{3.8,3.9,3.10,3.11,3.12}-django{4.2,5.0}-psycopg{2,3}: bash -c "DB_HOST=postgis16 DB_USER=root DB_ENGINE=django_zero_downtime_migrations.backends.postgis pytest tests/unit" + py{3.8,3.9,3.10,3.11,3.12,3.13}-django{4.2,5.0,5.1}-psycopg{2,3}: bash -c "DB_HOST=pg16 DB_USER=test pytest tests/unit" + py{3.8,3.9,3.10,3.11,3.12,3.13}-django{4.2,5.0,5.1}-psycopg{2,3}: bash -c "DB_HOST=postgis16 DB_USER=root DB_ENGINE=django_zero_downtime_migrations.backends.postgis pytest tests/unit" - py{3.12}-django{5.0}-psycopg{3}: bash -c "DB_HOST=pg16 DB_USER=test DB_ENGINE=django.db.backends.postgresql pytest tests/integration" - py{3.12}-django{5.0}-psycopg{3}: bash -c "DB_HOST=pg16 DB_USER=test DB_SUPER_USER=root pytest tests/integration" - py{3.12}-django{5.0}-psycopg{3}: bash -c "DB_HOST=postgis16 DB_USER=root DB_ENGINE=django_zero_downtime_migrations.backends.postgis pytest tests/integration" + py{3.13}-django{5.1}-psycopg{3}: bash -c "DB_HOST=pg16 DB_USER=test DB_ENGINE=django.db.backends.postgresql pytest tests/integration" + py{3.13}-django{5.1}-psycopg{3}: bash -c "DB_HOST=pg16 DB_USER=test DB_SUPER_USER=root pytest tests/integration" + py{3.13}-django{5.1}-psycopg{3}: bash -c "DB_HOST=postgis16 DB_USER=root DB_ENGINE=django_zero_downtime_migrations.backends.postgis pytest tests/integration" - py{3.12}-django{5.0}-psycopg{3}: bash -c "DB_HOST=pg15 DB_USER=test DB_SUPER_USER=root pytest tests/integration" - py{3.12}-django{5.0}-psycopg{3}: bash -c "DB_HOST=pg14 DB_USER=test DB_SUPER_USER=root pytest tests/integration" - py{3.12}-django{5.0}-psycopg{3}: bash -c "DB_HOST=pg13 DB_USER=test DB_SUPER_USER=root pytest tests/integration" - py{3.12}-django{5.0}-psycopg{3}: bash -c "DB_HOST=pg12 DB_USER=test DB_SUPER_USER=root pytest tests/integration" + py{3.13}-django{5.1}-psycopg{3}: bash -c "DB_HOST=pg15 DB_USER=test DB_SUPER_USER=root pytest tests/integration" + py{3.13}-django{5.1}-psycopg{3}: bash -c "DB_HOST=pg14 DB_USER=test DB_SUPER_USER=root pytest tests/integration" + py{3.13}-django{5.1}-psycopg{3}: bash -c "DB_HOST=pg13 DB_USER=test DB_SUPER_USER=root pytest tests/integration" + py{3.12}-django{5.0}-psycopg{3}: bash -c "DB_HOST=pg12 DB_USER=test DB_SUPER_USER=root pytest tests/integration" py{3.12}-django{4.2}-psycopg{3}: bash -c "DB_HOST=pg16 DB_USER=test DB_SUPER_USER=root pytest tests/integration" deps = - py{3.12}-django{5.0}-psycopg{3}: flake8 - py{3.12}-django{5.0}-psycopg{3}: isort + py{3.13}-django{5.1}-psycopg{3}: flake8 + py{3.13}-django{5.1}-psycopg{3}: isort pytest pytest-django @@ -37,3 +38,4 @@ deps = django4.2: django>=4.2,<5.0 django5.0: django>=5.0,<5.1 + django5.1: django>=5.1,<5.2