summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHameed Gifford <giff.h92@gmail.com>2020-01-21 15:03:41 -0500
committerCarlton Gibson <carlton.gibson@noumenal.es>2020-01-21 21:03:41 +0100
commit8dcd89d5d386d4b3f09ca85d549a706bae12d8e3 (patch)
tree9645a59128b7536839fa593013cc122a8702f035
parent1526a842ee084b791aa66c931b3822091a442853 (diff)
downloaddjango-appconf-8dcd89d5d386d4b3f09ca85d549a706bae12d8e3.tar.gz
Test python 3.8 and Django 3.0 (#57)
Aligns the doc specs to match tested versions
-rw-r--r--.travis.yml41
-rw-r--r--appconf/__init__.py1
-rw-r--r--appconf/base.py10
-rw-r--r--docs/changelog.rst2
-rw-r--r--setup.py11
-rw-r--r--tests/test_settings.py3
-rw-r--r--tests/tests.py1
-rw-r--r--tox.ini21
8 files changed, 41 insertions, 49 deletions
diff --git a/.travis.yml b/.travis.yml
index e9ebd6a..fbacc9d 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -5,26 +5,11 @@ dist: xenial
matrix:
fast_finish: true
allow_failures:
- - env: TOXENV=py35-djmaster
- env: TOXENV=py36-djmaster
- env: TOXENV=py37-djmaster
+ - env: TOXENV=py38-djmaster
include:
# Python version is just for the look on travis.
- - python: 2.7
- env: TOXENV=flake8-py27
-
- - python: 3.4
- env: TOXENV=flake8-py34
-
- - python: 2.7
- env: TOXENV=py27-dj111
-
- - python: 3.4
- env: TOXENV=py34-dj111
-
- - python: 3.4
- env: TOXENV=py34-dj20
-
- python: 3.5
env: TOXENV=py35-dj111
@@ -50,6 +35,9 @@ matrix:
env: TOXENV=py36-dj22
- python: 3.6
+ env: TOXENV=py36-dj30
+
+ - python: 3.6
env: TOXENV=py36-djmaster
- python: 3.7
@@ -65,8 +53,29 @@ matrix:
env: TOXENV=py37-dj22
- python: 3.7
+ env: TOXENV=py37-dj30
+
+ - python: 3.7
env: TOXENV=py37-djmaster
+ - python: 3.8
+ env: TOXENV=py38-dj111
+
+ - python: 3.8
+ env: TOXENV=py38-dj20
+
+ - python: 3.8
+ env: TOXENV=py38-dj21
+
+ - python: 3.8
+ env: TOXENV=py38-dj22
+
+ - python: 3.8
+ env: TOXENV=py38-dj30
+
+ - python: 3.8
+ env: TOXENV=py38-djmaster
+
install:
- pip install tox codecov
diff --git a/appconf/__init__.py b/appconf/__init__.py
index 63a86c2..8e1587b 100644
--- a/appconf/__init__.py
+++ b/appconf/__init__.py
@@ -1,4 +1,3 @@
-from __future__ import absolute_import
from .base import AppConf # noqa
__version__ = "1.0.3"
diff --git a/appconf/base.py b/appconf/base.py
index 63db0b6..864004f 100644
--- a/appconf/base.py
+++ b/appconf/base.py
@@ -1,7 +1,5 @@
import sys
-import six
-
from django.core.exceptions import ImproperlyConfigured
from .utils import import_attribute
@@ -73,7 +71,7 @@ class AppConfMetaClass(type):
new_class.add_to_class(name, value)
new_class._configure()
- for name, value in six.iteritems(new_class._meta.configured_data):
+ for name, value in new_class._meta.configured_data.items():
prefixed_name = new_class._meta.prefixed_name(name)
setattr(new_class._meta.holder, prefixed_name, value)
new_class.add_to_class(name, value)
@@ -96,7 +94,7 @@ class AppConfMetaClass(type):
def _configure(cls):
# the ad-hoc settings class instance used to configure each value
obj = cls()
- for name, prefixed_name in six.iteritems(obj._meta.names):
+ for name, prefixed_name in obj._meta.names.items():
default_value = obj._meta.defaults.get(prefixed_name)
value = getattr(obj._meta.holder, prefixed_name, default_value)
callback = getattr(obj, "configure_%s" % name.lower(), None)
@@ -106,13 +104,13 @@ class AppConfMetaClass(type):
cls._meta.configured_data = obj.configure()
-class AppConf(six.with_metaclass(AppConfMetaClass)):
+class AppConf(metaclass=AppConfMetaClass):
"""
An app setting object to be used for handling app setting defaults
gracefully and providing a nice API for them.
"""
def __init__(self, **kwargs):
- for name, value in six.iteritems(kwargs):
+ for name, value in kwargs.items():
setattr(self, name, value)
def __dir__(self):
diff --git a/docs/changelog.rst b/docs/changelog.rst
index 113cda5..ea12ad9 100644
--- a/docs/changelog.rst
+++ b/docs/changelog.rst
@@ -4,7 +4,7 @@ Changelog
1.0.4 (unreleased)
-----------------
-* Run tests for Django 2.2 and Python 3.5, 3.6 and 3.7
+* Run tests for Django 2.2 and 3.0 and Python 3.5, 3.6, 3.7 and 3.8
* Add template and middleware settings in test_settings (required for Django 2.2)
diff --git a/setup.py b/setup.py
index 39ac544..f1ff890 100644
--- a/setup.py
+++ b/setup.py
@@ -29,28 +29,25 @@ setup(
license='BSD',
url='https://django-appconf.readthedocs.io/',
packages=['appconf'],
- install_requires=['django', 'six'],
+ install_requires=['django'],
classifiers=[
'Development Status :: 5 - Production/Stable',
'Environment :: Web Environment',
'Framework :: Django',
- 'Framework :: Django :: 1.8',
- 'Framework :: Django :: 1.9',
- 'Framework :: Django :: 1.10',
'Framework :: Django :: 1.11',
'Framework :: Django :: 2.0',
'Framework :: Django :: 2.1',
+ 'Framework :: Django :: 2.2',
+ 'Framework :: Django :: 3.0',
'Intended Audience :: Developers',
'License :: OSI Approved :: BSD License',
'Operating System :: OS Independent',
'Programming Language :: Python',
- 'Programming Language :: Python :: 2',
- 'Programming Language :: Python :: 2.7',
'Programming Language :: Python :: 3',
- 'Programming Language :: Python :: 3.4',
'Programming Language :: Python :: 3.5',
'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: 3.7',
+ 'Programming Language :: Python :: 3.8',
'Topic :: Utilities',
],
project_urls={
diff --git a/tests/test_settings.py b/tests/test_settings.py
index 2fd11aa..6d420a2 100644
--- a/tests/test_settings.py
+++ b/tests/test_settings.py
@@ -38,7 +38,4 @@ TEMPLATES = [
}
]
-if django.VERSION[:2] < (1, 6):
- TEST_RUNNER = 'discover_runner.DiscoverRunner'
-
SECRET_KEY = 'local'
diff --git a/tests/tests.py b/tests/tests.py
index 9ea13ed..b075bb9 100644
--- a/tests/tests.py
+++ b/tests/tests.py
@@ -1,4 +1,3 @@
-from __future__ import absolute_import
from django.conf import settings
from django.core.exceptions import ImproperlyConfigured
from django.test import TestCase
diff --git a/tox.ini b/tox.ini
index edff540..db3cd62 100644
--- a/tox.ini
+++ b/tox.ini
@@ -3,43 +3,36 @@ skipsdist = True
usedevelop = True
minversion = 1.11
envlist =
- flake8-py27,
- flake8-py34,
- py{27,34,35,36,37}-dj111,
- py{34,35,36,37}-dj20,
- py{35,36,37}-dj{21,22},
- py{36,37}-djmaster
+ flake8-py37,
+ py{35,36,37,38}-dj{111,20,21,22},
+ py{36,37,38}-dj{30,master}
[testenv]
basepython =
- py27: python2.7
- py34: python3.4
py35: python3.5
py36: python3.6
py37: python3.7
+ py38: python3.8
pypy: pypy
usedevelop = true
setenv =
PYTHONPATH = {toxinidir}
DJANGO_SETTINGS_MODULE=tests.test_settings
deps =
- py{27,34,35,36,37,pypy}: coverage
+ py{35,36,37,38,pypy}: coverage
django-discover-runner
dj111: Django>=1.11,<2.0
dj20: Django>=2.0,<2.1
dj21: Django>=2.1,<2.2
dj22: Django>=2.2,<2.3
+ dj30: Django>=3.0,<3.1
djmaster: https://github.com/django/django/archive/master.tar.gz#egg=django
commands =
coverage run {envbindir}/django-admin.py test -v2 {posargs:tests}
coverage report
-[testenv:flake8-py27]
-commands = flake8 appconf
-deps = flake8
-
-[testenv:flake8-py34]
+[testenv:flake8-py37]
commands = flake8 appconf
deps = flake8