From faa208049e45872ae482a54b8a3454efe0549090 Mon Sep 17 00:00:00 2001 From: Kevin Brown Date: Sun, 14 Oct 2018 23:47:39 -0400 Subject: [PATCH 01/13] Add Django 2.1 and Python 3.5 This is to test the basic support of this combination. Eventually the test matrix will be expanded out to cover Python 3.5 support in all DRF versions that support it. --- .travis.yml | 1 + tox.ini | 2 ++ 2 files changed, 3 insertions(+) diff --git a/.travis.yml b/.travis.yml index 4c2bfcd..085f0a3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -97,6 +97,7 @@ env: - TOX_ENV=py34-django1.11-drf3.8 - TOX_ENV=py34-django2.0-drf3.7 - TOX_ENV=py34-django2.0-drf3.8 + - TOX_ENV=py35-django2.1-drf3.8 matrix: diff --git a/tox.ini b/tox.ini index f98e578..3a5337d 100644 --- a/tox.ini +++ b/tox.ini @@ -8,6 +8,7 @@ envlist = {py27,py33,py34}-django1.10-drf{3.4,3.5,3.6,3.7,3.8} {py27,py33,py34}-django1.11-drf{3.5,3.6,3.7,3.8} {py34}-django2.0-drf{3.7,3.8} + {py35}-django2.1-drf{3.8} [testenv] commands = ./runtests.py --fast @@ -21,6 +22,7 @@ deps = django1.10: Django==1.10.* django1.11: Django==1.11.* django2.0: Django==2.0.* + django2.1: Django==2.1.* drf2.4: djangorestframework==2.4.* drf3.0: djangorestframework==3.0.* drf3.1: djangorestframework==3.1.* From 0068c153c97f8dd19c6d6b47dcb57c9f4023d3fa Mon Sep 17 00:00:00 2001 From: Kevin Brown Date: Tue, 23 Oct 2018 21:24:53 -0400 Subject: [PATCH 02/13] Drop Django 1.6 support --- .travis.yml | 12 ------------ tox.ini | 2 -- 2 files changed, 14 deletions(-) diff --git a/.travis.yml b/.travis.yml index 085f0a3..b855bd4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,10 +5,6 @@ sudo: false env: - TOX_ENV=py27-flake8 - TOX_ENV=py27-docs - - TOX_ENV=py27-django1.6-drf2.4 - - TOX_ENV=py27-django1.6-drf3.0 - - TOX_ENV=py27-django1.6-drf3.1 - - TOX_ENV=py27-django1.6-drf3.2 - TOX_ENV=py27-django1.7-drf2.4 - TOX_ENV=py27-django1.7-drf3.0 - TOX_ENV=py27-django1.7-drf3.1 @@ -35,10 +31,6 @@ env: - TOX_ENV=py27-django1.11-drf3.6 - TOX_ENV=py27-django1.11-drf3.7 - TOX_ENV=py27-django1.11-drf3.8 - - TOX_ENV=py33-django1.6-drf2.4 - - TOX_ENV=py33-django1.6-drf3.0 - - TOX_ENV=py33-django1.6-drf3.1 - - TOX_ENV=py33-django1.6-drf3.2 - TOX_ENV=py33-django1.7-drf2.4 - TOX_ENV=py33-django1.7-drf3.0 - TOX_ENV=py33-django1.7-drf3.1 @@ -65,10 +57,6 @@ env: - TOX_ENV=py33-django1.11-drf3.6 - TOX_ENV=py33-django1.11-drf3.7 - TOX_ENV=py33-django1.11-drf3.8 - - TOX_ENV=py34-django1.6-drf2.4 - - TOX_ENV=py34-django1.6-drf3.0 - - TOX_ENV=py34-django1.6-drf3.1 - - TOX_ENV=py34-django1.6-drf3.2 - TOX_ENV=py34-django1.7-drf2.4 - TOX_ENV=py34-django1.7-drf3.0 - TOX_ENV=py34-django1.7-drf3.1 diff --git a/tox.ini b/tox.ini index 3a5337d..f30ff18 100644 --- a/tox.ini +++ b/tox.ini @@ -1,7 +1,6 @@ [tox] envlist = py27-{flake8,docs}, - {py27,py33,py34}-django1.6-drf{2.4,3.0,3.1,3.2} {py27,py33,py34}-django1.7-drf{2.4,3.0,3.1,3.2,3.3} {py27,py33,py34}-django1.8-drf{2.4,3.0,3.1,3.2,3.3,3.4,3.5,3.6} {py27,py33,py34}-django1.9-drf{3.3,3.4,3.5,3.6} @@ -15,7 +14,6 @@ commands = ./runtests.py --fast setenv = PYTHONDONTWRITEBYTECODE=1 deps = - django1.6: Django==1.6.* django1.7: Django==1.7.* django1.8: Django==1.8.* django1.9: Django==1.9.* From 996d8806fde1344430ea942646906a36507433cf Mon Sep 17 00:00:00 2001 From: Kevin Brown Date: Tue, 23 Oct 2018 21:25:32 -0400 Subject: [PATCH 03/13] Drop Django 1.7 support --- .travis.yml | 15 --------------- tox.ini | 2 -- 2 files changed, 17 deletions(-) diff --git a/.travis.yml b/.travis.yml index b855bd4..06d2674 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,11 +5,6 @@ sudo: false env: - TOX_ENV=py27-flake8 - TOX_ENV=py27-docs - - TOX_ENV=py27-django1.7-drf2.4 - - TOX_ENV=py27-django1.7-drf3.0 - - TOX_ENV=py27-django1.7-drf3.1 - - TOX_ENV=py27-django1.7-drf3.2 - - TOX_ENV=py27-django1.7-drf3.3 - TOX_ENV=py27-django1.8-drf2.4 - TOX_ENV=py27-django1.8-drf3.0 - TOX_ENV=py27-django1.8-drf3.1 @@ -31,11 +26,6 @@ env: - TOX_ENV=py27-django1.11-drf3.6 - TOX_ENV=py27-django1.11-drf3.7 - TOX_ENV=py27-django1.11-drf3.8 - - TOX_ENV=py33-django1.7-drf2.4 - - TOX_ENV=py33-django1.7-drf3.0 - - TOX_ENV=py33-django1.7-drf3.1 - - TOX_ENV=py33-django1.7-drf3.2 - - TOX_ENV=py33-django1.7-drf3.3 - TOX_ENV=py33-django1.8-drf2.4 - TOX_ENV=py33-django1.8-drf3.0 - TOX_ENV=py33-django1.8-drf3.1 @@ -57,11 +47,6 @@ env: - TOX_ENV=py33-django1.11-drf3.6 - TOX_ENV=py33-django1.11-drf3.7 - TOX_ENV=py33-django1.11-drf3.8 - - TOX_ENV=py34-django1.7-drf2.4 - - TOX_ENV=py34-django1.7-drf3.0 - - TOX_ENV=py34-django1.7-drf3.1 - - TOX_ENV=py34-django1.7-drf3.2 - - TOX_ENV=py34-django1.7-drf3.3 - TOX_ENV=py34-django1.8-drf2.4 - TOX_ENV=py34-django1.8-drf3.0 - TOX_ENV=py34-django1.8-drf3.1 diff --git a/tox.ini b/tox.ini index f30ff18..066ca14 100644 --- a/tox.ini +++ b/tox.ini @@ -1,7 +1,6 @@ [tox] envlist = py27-{flake8,docs}, - {py27,py33,py34}-django1.7-drf{2.4,3.0,3.1,3.2,3.3} {py27,py33,py34}-django1.8-drf{2.4,3.0,3.1,3.2,3.3,3.4,3.5,3.6} {py27,py33,py34}-django1.9-drf{3.3,3.4,3.5,3.6} {py27,py33,py34}-django1.10-drf{3.4,3.5,3.6,3.7,3.8} @@ -14,7 +13,6 @@ commands = ./runtests.py --fast setenv = PYTHONDONTWRITEBYTECODE=1 deps = - django1.7: Django==1.7.* django1.8: Django==1.8.* django1.9: Django==1.9.* django1.10: Django==1.10.* From 3737b48511a7c1d9a7a9af52ca830fe852e2fba9 Mon Sep 17 00:00:00 2001 From: Kevin Brown Date: Tue, 23 Oct 2018 21:27:50 -0400 Subject: [PATCH 04/13] Switch from TOX_ENV to using tox-travis tox-travis allows us to not have to manage a tox matrix with 70+ different combinations and instead has us only define the combinations in a single location. --- .travis.yml | 79 +++++------------------------------------------------ 1 file changed, 7 insertions(+), 72 deletions(-) diff --git a/.travis.yml b/.travis.yml index 06d2674..dae2a1b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,82 +2,17 @@ language: python sudo: false -env: - - TOX_ENV=py27-flake8 - - TOX_ENV=py27-docs - - TOX_ENV=py27-django1.8-drf2.4 - - TOX_ENV=py27-django1.8-drf3.0 - - TOX_ENV=py27-django1.8-drf3.1 - - TOX_ENV=py27-django1.8-drf3.2 - - TOX_ENV=py27-django1.8-drf3.3 - - TOX_ENV=py27-django1.8-drf3.4 - - TOX_ENV=py27-django1.8-drf3.5 - - TOX_ENV=py27-django1.8-drf3.6 - - TOX_ENV=py27-django1.9-drf3.3 - - TOX_ENV=py27-django1.9-drf3.4 - - TOX_ENV=py27-django1.9-drf3.5 - - TOX_ENV=py27-django1.9-drf3.6 - - TOX_ENV=py27-django1.10-drf3.4 - - TOX_ENV=py27-django1.10-drf3.5 - - TOX_ENV=py27-django1.10-drf3.6 - - TOX_ENV=py27-django1.10-drf3.7 - - TOX_ENV=py27-django1.10-drf3.8 - - TOX_ENV=py27-django1.11-drf3.5 - - TOX_ENV=py27-django1.11-drf3.6 - - TOX_ENV=py27-django1.11-drf3.7 - - TOX_ENV=py27-django1.11-drf3.8 - - TOX_ENV=py33-django1.8-drf2.4 - - TOX_ENV=py33-django1.8-drf3.0 - - TOX_ENV=py33-django1.8-drf3.1 - - TOX_ENV=py33-django1.8-drf3.2 - - TOX_ENV=py33-django1.8-drf3.3 - - TOX_ENV=py33-django1.8-drf3.4 - - TOX_ENV=py33-django1.8-drf3.5 - - TOX_ENV=py33-django1.8-drf3.6 - - TOX_ENV=py33-django1.9-drf3.3 - - TOX_ENV=py33-django1.9-drf3.4 - - TOX_ENV=py33-django1.9-drf3.5 - - TOX_ENV=py33-django1.9-drf3.6 - - TOX_ENV=py33-django1.10-drf3.4 - - TOX_ENV=py33-django1.10-drf3.5 - - TOX_ENV=py33-django1.10-drf3.6 - - TOX_ENV=py33-django1.10-drf3.7 - - TOX_ENV=py33-django1.10-drf3.8 - - TOX_ENV=py33-django1.11-drf3.5 - - TOX_ENV=py33-django1.11-drf3.6 - - TOX_ENV=py33-django1.11-drf3.7 - - TOX_ENV=py33-django1.11-drf3.8 - - TOX_ENV=py34-django1.8-drf2.4 - - TOX_ENV=py34-django1.8-drf3.0 - - TOX_ENV=py34-django1.8-drf3.1 - - TOX_ENV=py34-django1.8-drf3.2 - - TOX_ENV=py34-django1.8-drf3.3 - - TOX_ENV=py34-django1.8-drf3.4 - - TOX_ENV=py34-django1.8-drf3.5 - - TOX_ENV=py34-django1.8-drf3.6 - - TOX_ENV=py34-django1.9-drf3.3 - - TOX_ENV=py34-django1.9-drf3.4 - - TOX_ENV=py34-django1.9-drf3.5 - - TOX_ENV=py34-django1.9-drf3.6 - - TOX_ENV=py34-django1.10-drf3.4 - - TOX_ENV=py34-django1.10-drf3.5 - - TOX_ENV=py34-django1.10-drf3.6 - - TOX_ENV=py34-django1.10-drf3.7 - - TOX_ENV=py34-django1.10-drf3.8 - - TOX_ENV=py34-django1.11-drf3.5 - - TOX_ENV=py34-django1.11-drf3.6 - - TOX_ENV=py34-django1.11-drf3.7 - - TOX_ENV=py34-django1.11-drf3.8 - - TOX_ENV=py34-django2.0-drf3.7 - - TOX_ENV=py34-django2.0-drf3.8 - - TOX_ENV=py35-django2.1-drf3.8 - +python: + - "2.7" + - "3.3" + - "3.4" + - "3.5" matrix: fast_finish: true install: - - pip install tox + - pip install tox tox-travis script: - - tox -e $TOX_ENV + - tox From 0a5a4d39ba7c4d7c87f8bdba1150c353dc772d21 Mon Sep 17 00:00:00 2001 From: Kevin Brown Date: Tue, 23 Oct 2018 21:43:48 -0400 Subject: [PATCH 05/13] Pin Tox to 2.9 Tox 3.0 does not support Python 3.3 but it supports up to Python 3.6. --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index dae2a1b..d4bb0aa 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,7 +12,7 @@ matrix: fast_finish: true install: - - pip install tox tox-travis + - pip install tox<3 tox-travis script: - tox From 538d7c1140c1128adce8c0a62a2f03dfb8bebe19 Mon Sep 17 00:00:00 2001 From: Kevin Brown Date: Tue, 23 Oct 2018 21:47:11 -0400 Subject: [PATCH 06/13] Re-pin Tox 2.9 Looks like having a < in the command messes things up, which sorta makes sense. --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index d4bb0aa..7e5e3c8 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,7 +12,7 @@ matrix: fast_finish: true install: - - pip install tox<3 tox-travis + - pip install tox==2.9.* tox-travis script: - tox From fb9d923c391f3493e6932f72488af906286286e9 Mon Sep 17 00:00:00 2001 From: Kevin Brown Date: Tue, 23 Oct 2018 21:55:31 -0400 Subject: [PATCH 07/13] Drop Python 3.3 Not going to fight Tox to make it work on Python 3.3, instead let's just drop it. This also updates pytest-django to support Python 3.5. --- .travis.yml | 3 +-- tox.ini | 10 +++++----- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/.travis.yml b/.travis.yml index 7e5e3c8..f5891b3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,7 +4,6 @@ sudo: false python: - "2.7" - - "3.3" - "3.4" - "3.5" @@ -12,7 +11,7 @@ matrix: fast_finish: true install: - - pip install tox==2.9.* tox-travis + - pip install tox tox-travis script: - tox diff --git a/tox.ini b/tox.ini index 066ca14..5d92069 100644 --- a/tox.ini +++ b/tox.ini @@ -1,10 +1,10 @@ [tox] envlist = py27-{flake8,docs}, - {py27,py33,py34}-django1.8-drf{2.4,3.0,3.1,3.2,3.3,3.4,3.5,3.6} - {py27,py33,py34}-django1.9-drf{3.3,3.4,3.5,3.6} - {py27,py33,py34}-django1.10-drf{3.4,3.5,3.6,3.7,3.8} - {py27,py33,py34}-django1.11-drf{3.5,3.6,3.7,3.8} + {py27,py34}-django1.8-drf{2.4,3.0,3.1,3.2,3.3,3.4,3.5,3.6} + {py27,py34}-django1.9-drf{3.3,3.4,3.5,3.6} + {py27,py34}-django1.10-drf{3.4,3.5,3.6,3.7,3.8} + {py27,py34}-django1.11-drf{3.5,3.6,3.7,3.8} {py34}-django2.0-drf{3.7,3.8} {py35}-django2.1-drf{3.8} @@ -29,7 +29,7 @@ deps = drf3.6: djangorestframework==3.6.* drf3.7: djangorestframework==3.7.* drf3.8: djangorestframework==3.8.* - pytest-django==2.8.0 + pytest-django==3.4.* [testenv:py27-flake8] commands = ./runtests.py --lintonly From c11d178db7e7969e2951ab527f50faca9c0602f9 Mon Sep 17 00:00:00 2001 From: Kevin Brown Date: Tue, 23 Oct 2018 21:59:52 -0400 Subject: [PATCH 08/13] Added Python 3.5 for older Django versions The versions of DRF for these Django versions should also support Python 3.5. --- tox.ini | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tox.ini b/tox.ini index 5d92069..3f7dadc 100644 --- a/tox.ini +++ b/tox.ini @@ -4,8 +4,8 @@ envlist = {py27,py34}-django1.8-drf{2.4,3.0,3.1,3.2,3.3,3.4,3.5,3.6} {py27,py34}-django1.9-drf{3.3,3.4,3.5,3.6} {py27,py34}-django1.10-drf{3.4,3.5,3.6,3.7,3.8} - {py27,py34}-django1.11-drf{3.5,3.6,3.7,3.8} - {py34}-django2.0-drf{3.7,3.8} + {py27,py34,py35}-django1.11-drf{3.5,3.6,3.7,3.8} + {py34,py35}-django2.0-drf{3.7,3.8} {py35}-django2.1-drf{3.8} [testenv] From 1e403d74e77fa87f0046c82b2fae6473f840c8f2 Mon Sep 17 00:00:00 2001 From: Kevin Brown Date: Tue, 23 Oct 2018 22:02:39 -0400 Subject: [PATCH 09/13] Added Python 3.5 back to Django 1.8 Not all versions of DRF supported Python 3.5, so these are going down as a different list of envrionments because of that. --- tox.ini | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tox.ini b/tox.ini index 3f7dadc..b20f718 100644 --- a/tox.ini +++ b/tox.ini @@ -2,8 +2,11 @@ envlist = py27-{flake8,docs}, {py27,py34}-django1.8-drf{2.4,3.0,3.1,3.2,3.3,3.4,3.5,3.6} + {py35}-django1.8-drf{3.5,3.6} {py27,py34}-django1.9-drf{3.3,3.4,3.5,3.6} + {py35}-django1.9-drf{3.5,3.6} {py27,py34}-django1.10-drf{3.4,3.5,3.6,3.7,3.8} + {py35}-django1.10-drf{3.5,3.6,3.7,3.8} {py27,py34,py35}-django1.11-drf{3.5,3.6,3.7,3.8} {py34,py35}-django2.0-drf{3.7,3.8} {py35}-django2.1-drf{3.8} From 480313df91911e9f0725a18623bdf0e25ce19c37 Mon Sep 17 00:00:00 2001 From: Kevin Brown Date: Tue, 23 Oct 2018 22:04:55 -0400 Subject: [PATCH 10/13] Remove fast finish from Travis This is no longer needed now that we don't have 100 different combinations --- .travis.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index f5891b3..9b1477f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,9 +7,6 @@ python: - "3.4" - "3.5" -matrix: - fast_finish: true - install: - pip install tox tox-travis From 8238b64ba30560ba17e66aed168d3a862a07d22a Mon Sep 17 00:00:00 2001 From: Kevin Brown Date: Tue, 23 Oct 2018 22:07:56 -0400 Subject: [PATCH 11/13] Added support for DRF 3.9 This adds DRF 3.9 to the Tox environment list. --- tox.ini | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/tox.ini b/tox.ini index b20f718..6d9fd00 100644 --- a/tox.ini +++ b/tox.ini @@ -7,9 +7,9 @@ envlist = {py35}-django1.9-drf{3.5,3.6} {py27,py34}-django1.10-drf{3.4,3.5,3.6,3.7,3.8} {py35}-django1.10-drf{3.5,3.6,3.7,3.8} - {py27,py34,py35}-django1.11-drf{3.5,3.6,3.7,3.8} - {py34,py35}-django2.0-drf{3.7,3.8} - {py35}-django2.1-drf{3.8} + {py27,py34,py35}-django1.11-drf{3.5,3.6,3.7,3.8,3.9} + {py34,py35}-django2.0-drf{3.7,3.8,3.9} + {py35}-django2.1-drf{3.8,3.9} [testenv] commands = ./runtests.py --fast @@ -32,6 +32,7 @@ deps = drf3.6: djangorestframework==3.6.* drf3.7: djangorestframework==3.7.* drf3.8: djangorestframework==3.8.* + drf3.9: djangorestframework==3.9.* pytest-django==3.4.* [testenv:py27-flake8] From ae847b61374119dabebfaea95a496afa869efa7a Mon Sep 17 00:00:00 2001 From: Kevin Brown Date: Tue, 23 Oct 2018 22:13:42 -0400 Subject: [PATCH 12/13] Test on Python 3.6 --- .travis.yml | 1 + tox.ini | 5 +++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 9b1477f..0e2fe37 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,6 +6,7 @@ python: - "2.7" - "3.4" - "3.5" + - "3.6" install: - pip install tox tox-travis diff --git a/tox.ini b/tox.ini index 6d9fd00..0723de7 100644 --- a/tox.ini +++ b/tox.ini @@ -8,8 +8,9 @@ envlist = {py27,py34}-django1.10-drf{3.4,3.5,3.6,3.7,3.8} {py35}-django1.10-drf{3.5,3.6,3.7,3.8} {py27,py34,py35}-django1.11-drf{3.5,3.6,3.7,3.8,3.9} - {py34,py35}-django2.0-drf{3.7,3.8,3.9} - {py35}-django2.1-drf{3.8,3.9} + {py36}-django1.11-drf{3.7,3.8,3.9} + {py34,py35,py36}-django2.0-drf{3.7,3.8,3.9} + {py35,py36}-django2.1-drf{3.8,3.9} [testenv] commands = ./runtests.py --fast From 244e0a65b1f7f4693373372e7bb21825b06a34c1 Mon Sep 17 00:00:00 2001 From: Kevin Brown Date: Tue, 23 Oct 2018 22:15:39 -0400 Subject: [PATCH 13/13] Updated README to reflect supported versions --- README.md | 6 +++--- setup.py | 3 ++- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 4bc5ddb..5819ff7 100644 --- a/README.md +++ b/README.md @@ -15,9 +15,9 @@ XML support extracted as a third party package directly from the official Django ## Requirements -* Python (2.7, 3.3, 3.4) -* Django (1.6 - 1.11, 2.0) -* Django REST Framework (2.4, 3.0 - 3.8) +* Python (2.7, 3.4, 3.5, 3.6) +* Django (1.8 - 1.11, 2.0 - 2.1) +* Django REST Framework (2.4, 3.0 - 3.9) This project is tested on the combinations of Python and Django that are supported by each version of Django REST Framework. diff --git a/setup.py b/setup.py index 5512793..8c861b1 100644 --- a/setup.py +++ b/setup.py @@ -100,8 +100,9 @@ def get_package_data(package): 'Programming Language :: Python :: 2', 'Programming Language :: Python :: 2.7', 'Programming Language :: Python :: 3', - 'Programming Language :: Python :: 3.3', 'Programming Language :: Python :: 3.4', + 'Programming Language :: Python :: 3.5', + 'Programming Language :: Python :: 3.6', 'Topic :: Internet :: WWW/HTTP', ] )