diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index fbf1fae8..f897d76e 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -2,7 +2,7 @@ name: CI
# Allows you to run this workflow manually from the Actions tab
on: [push, pull_request, workflow_dispatch]
-# Controls when the action will run.
+# Controls when the action will run.
jobs:
# Allows you to run this workflow manually from the Actions tab
@@ -11,7 +11,7 @@ jobs:
strategy:
max-parallel: 5
matrix:
- python-version: [3.7, 3.8, 3.9, "3.10", "3.11-dev"]
+ python-version: ["3.8", "3.9", "3.10", "3.11"]
steps:
- uses: actions/checkout@v3
diff --git a/.travis.yml b/.travis.yml
index fba4de0a..ae01bf9a 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,9 +1,9 @@
language: python
python:
- - "3.6"
- - "3.7"
- "3.8"
- "3.9"
+ - "3.10"
+ - "3.11"
install: pip install tox-travis
script: tox
@@ -13,8 +13,8 @@ cache: pip
matrix:
fast_finish: true
include:
- - dist: bionic
- python: 3.6
+ - dist: jammy
+ python: "3.11"
notifications:
webhooks:
diff --git a/README.md b/README.md
index 09327ee7..59c5880c 100644
--- a/README.md
+++ b/README.md
@@ -17,9 +17,9 @@ exist without a domain, so you need it "nested" inside the domain.
## Requirements & Compatibility
-- Python (3.7, 3.8, 3.9, 3.10, 3.11)
-- Django (2.2, 3.0, 3.1, 3.2, 4.0)
-- Django REST Framework (3.11, 3.12, 3.13)
+- Python (3.8, 3.9, 3.10, 3.11)
+- Django (3.2, 4.1, 4.2)
+- Django REST Framework (3.14)
It may work with lower versions, but since the release **0.93.5** is no more tested on CI for Python 3.6 or lower.
And since **0.92.1** is no more tested on CI for Pythons 2.7 to 3.5, Django 1.11 to 2.1 or DRF 3.6 to 3.10.
diff --git a/docs/index.md b/docs/index.md
index 80ec76e0..25cbbbb7 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -21,8 +21,8 @@ Nested resources for the Django Rest Framework
## Requirements
-* Python (2.7, 3.3, 3.4, 3.5, 3.6)
-* Django (1.8, 1.9, 1.10)
+* Python (3.8, 3.9, 3.10, 3.11)
+* Django (3.2, 4.1, 4.2)
## Installation
diff --git a/requirements-tox.txt b/requirements-tox.txt
index 36d0b21e..3208e8d7 100644
--- a/requirements-tox.txt
+++ b/requirements-tox.txt
@@ -1,15 +1,13 @@
# Test requirements
-pytest==7.4.0
+pytest==7.4.2
pytest-cov==4.1.0
pytest-django==4.5.2
-flake8==5.0.4
+flake8==6.1.0
ipdb==0.13.13
pytz==2023.3
# wheel for PyPI installs
-wheel==0.40.0
+wheel==0.41.2
# MkDocs for documentation previews/deploys
-mkdocs==1.2.4; python_version < '3.8'
-markdown==3.2.1; python_version < '3.8'
-mkdocs==1.4.1; python_version >= '3.8'
+mkdocs==1.5.2
diff --git a/requirements.txt b/requirements.txt
index 6a1ae903..5ecde2db 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -2,6 +2,6 @@
-r requirements-tox.txt
# Minimum Django and REST framework version
-Django>=2.2
-djangorestframework>=3.11.0
+Django>=3.2
+djangorestframework>=3.14.0
diff --git a/rest_framework_nested/runtests/settings.py b/rest_framework_nested/runtests/settings.py
index 0bfd86c1..812e3df6 100644
--- a/rest_framework_nested/runtests/settings.py
+++ b/rest_framework_nested/runtests/settings.py
@@ -48,10 +48,6 @@
# to load the internationalization machinery.
USE_I18N = True
-# If you set this to False, Django will not format dates, numbers and
-# calendars according to the current locale
-USE_L10N = True
-
# Absolute filesystem path to the directory that will hold user-uploaded files.
# Example: "/home/media/media.lawrence.com/"
MEDIA_ROOT = ''
@@ -152,11 +148,6 @@
AUTH_USER_MODEL = 'auth.User'
import django
-
-if django.VERSION < (1, 3):
- INSTALLED_APPS += ('staticfiles',)
-
-
# If we're running on the Jenkins server we want to archive the coverage reports as XML.
import os
if os.environ.get('HUDSON_URL', None):
diff --git a/setup.py b/setup.py
index 93a216aa..a5106c70 100644
--- a/setup.py
+++ b/setup.py
@@ -77,27 +77,26 @@ def get_package_data(package):
packages=get_packages(package),
package_data=get_package_data(package),
install_requires=[
- 'djangorestframework>=3.11.0',
- 'Django>=2.2',
+ 'djangorestframework>=3.14.0',
+ 'Django>=3.2',
],
- python_requires=">=3.5",
+ python_requires=">=3.8",
classifiers=[
'Development Status :: 5 - Production/Stable',
'Environment :: Web Environment',
'Framework :: Django',
- 'Framework :: Django :: 2.2',
- 'Framework :: Django :: 3.0',
- 'Framework :: Django :: 3.1',
'Framework :: Django :: 3.2',
+ 'Framework :: Django :: 4.1',
+ 'Framework :: Django :: 4.2',
'Intended Audience :: Developers',
'License :: OSI Approved :: Apache Software License',
'Operating System :: OS Independent',
'Natural Language :: English',
'Programming Language :: Python :: 3',
- 'Programming Language :: Python :: 3.6',
- 'Programming Language :: Python :: 3.7',
'Programming Language :: Python :: 3.8',
'Programming Language :: Python :: 3.9',
+ 'Programming Language :: Python :: 3.10',
+ 'Programming Language :: Python :: 3.11',
'Topic :: Internet :: WWW/HTTP',
]
)
diff --git a/tox.ini b/tox.ini
index e3bf1c3b..3771bff5 100644
--- a/tox.ini
+++ b/tox.ini
@@ -1,16 +1,13 @@
[tox]
envlist =
- {py36,py37,py38,py39,py310,py311}-django{2.2,3.0,3.1,3.2}-drf{3.11,3.12,3.13}
- {py38,py39,py310,py311}-django{4.0}-drf{3.12,3.13}
+ py{38,39,310,311}-django{3.2,4.1,4.2}-drf3.14
[gh-actions]
python =
- 3.6: py36
- 3.7: py37
- 3.8: py38
- 3.9: py39
- 3.10: py310
- 3.11: py311
+ 3.8: py38
+ 3.9: py39
+ 3.10: py310
+ 3.11: py311
[testenv]
commands = ./runtests.py --nolint
@@ -18,22 +15,18 @@ allowlist_externals = *
setenv =
PYTHONDONTWRITEBYTECODE=1
deps =
- django2.2: Django>=2.2,<2.3
- django3.0: Django>=3.0,<3.1
- django3.1: Django>=3.1,<3.2
django3.2: Django>=3.2,<3.3
- django4.0: Django>=4.0,<4.1
- drf3.11: djangorestframework>=3.11,<3.12
- drf3.12: djangorestframework>=3.12,<3.13
- drf3.13: djangorestframework>=3.13,<3.14
+ django4.1: Django>=4.1,<4.2
+ django4.2: Django>=4.2,<4.3
+ drf3.14: djangorestframework>=3.14,<3.15
-rrequirements-tox.txt
-[testenv:py39-flake8]
+[testenv:py311-flake8]
commands = ./runtests.py --lintonly
deps =
-rrequirements-tox.txt
-[testenv:py39-docs]
+[testenv:py311-docs]
commands = mkdocs build
deps =
mkdocs>=1.3.0