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