diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 611d7aa..213ca26 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,11 +15,8 @@ jobs: strategy: matrix: os: [ubuntu-20.04] - python-version: ['3.5','3.8'] - toxenv: ['django22','quality'] - exclude: - - python-version: '3.5' - toxenv: 'quality' + python-version: ['3.8'] + toxenv: ['django22','django30','django31','quality'] steps: - uses: actions/checkout@v1 diff --git a/lang_pref_middleware/__init__.py b/lang_pref_middleware/__init__.py index dc713b3..1e9784c 100644 --- a/lang_pref_middleware/__init__.py +++ b/lang_pref_middleware/__init__.py @@ -1,3 +1,3 @@ """Init module for lang_pref_middleware.""" -__version__ = '0.3.1' +__version__ = '1.0.0' diff --git a/requirements/base.txt b/requirements/base.txt index a58775b..671725e 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -4,6 +4,11 @@ # # make upgrade # -django==2.2.17 # via -c requirements/constraints.txt, -r requirements/base.in -pytz==2020.5 # via django -sqlparse==0.4.1 # via django +django==2.2.17 + # via + # -c requirements/constraints.txt + # -r requirements/base.in +pytz==2020.5 + # via django +sqlparse==0.4.1 + # via django diff --git a/requirements/ci.txt b/requirements/ci.txt index a0641ab..f9e59f6 100644 --- a/requirements/ci.txt +++ b/requirements/ci.txt @@ -4,17 +4,29 @@ # # make upgrade # -appdirs==1.4.4 # via virtualenv -distlib==0.3.1 # via virtualenv -filelock==3.0.12 # via tox, virtualenv -importlib-metadata==2.1.1 # via pluggy, tox, virtualenv -importlib-resources==3.2.1 # via virtualenv -packaging==20.8 # via tox -pluggy==0.13.1 # via tox -py==1.10.0 # via tox -pyparsing==2.4.7 # via packaging -six==1.15.0 # via tox, virtualenv -toml==0.10.2 # via tox -tox==3.20.1 # via -r requirements/ci.in -virtualenv==20.2.2 # via tox -zipp==1.2.0 # via importlib-metadata, importlib-resources +appdirs==1.4.4 + # via virtualenv +distlib==0.3.1 + # via virtualenv +filelock==3.0.12 + # via + # tox + # virtualenv +packaging==20.8 + # via tox +pluggy==0.13.1 + # via tox +py==1.10.0 + # via tox +pyparsing==2.4.7 + # via packaging +six==1.15.0 + # via + # tox + # virtualenv +toml==0.10.2 + # via tox +tox==3.21.0 + # via -r requirements/ci.in +virtualenv==20.3.0 + # via tox diff --git a/requirements/dev.txt b/requirements/dev.txt index d3b9a66..ec6a8af 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -4,47 +4,160 @@ # # make upgrade # -appdirs==1.4.4 # via -r requirements/ci.txt, virtualenv -astroid==2.4.2 # via -r requirements/test.txt, pylint, pylint-celery -attrs==20.3.0 # via -r requirements/test.txt, pytest -click-log==0.3.2 # via -r requirements/test.txt, edx-lint -click==7.1.2 # via -r requirements/pip-tools.txt, -r requirements/test.txt, click-log, edx-lint, pip-tools -coverage==5.3.1 # via -r requirements/test.txt, pytest-cov -distlib==0.3.1 # via -r requirements/ci.txt, virtualenv -django==2.2.17 # via -c requirements/constraints.txt, -r requirements/test.txt -edx-lint==1.6 # via -r requirements/test.txt -filelock==3.0.12 # via -r requirements/ci.txt, tox, virtualenv -importlib-metadata==2.1.1 # via -r requirements/ci.txt, -r requirements/test.txt, pluggy, pytest, tox, virtualenv -importlib-resources==3.2.1 # via -r requirements/ci.txt, virtualenv -iniconfig==1.1.1 # via -r requirements/test.txt, pytest -isort==4.3.21 # via -r requirements/test.txt, pylint -lazy-object-proxy==1.4.3 # via -r requirements/test.txt, astroid -mccabe==0.6.1 # via -r requirements/test.txt, pylint -packaging==20.8 # via -r requirements/ci.txt, -r requirements/test.txt, pytest, tox -pathlib2==2.3.5 # via -r requirements/test.txt, pytest -pep257==0.7.0 # via -r requirements/test.txt -pip-tools==5.5.0 # via -r requirements/pip-tools.txt -pluggy==0.13.1 # via -r requirements/ci.txt, -r requirements/test.txt, pytest, tox -py==1.10.0 # via -r requirements/ci.txt, -r requirements/test.txt, pytest, tox -pycodestyle==2.6.0 # via -r requirements/test.txt -pylint-celery==0.3 # via -r requirements/test.txt, edx-lint -pylint-django==2.3.0 # via -r requirements/test.txt, edx-lint -pylint-plugin-utils==0.6 # via -r requirements/test.txt, pylint-celery, pylint-django -pylint==2.6.0 # via -r requirements/test.txt, edx-lint, pylint-celery, pylint-django, pylint-plugin-utils -pyparsing==2.4.7 # via -r requirements/ci.txt, -r requirements/test.txt, packaging -pytest-cov==2.10.1 # via -r requirements/test.txt -pytest-django==4.1.0 # via -r requirements/test.txt -pytest==6.1.2 # via -r requirements/test.txt, pytest-cov, pytest-django -pytz==2020.5 # via -r requirements/test.txt, django -six==1.15.0 # via -r requirements/ci.txt, -r requirements/test.txt, astroid, edx-lint, pathlib2, tox, virtualenv -sqlparse==0.4.1 # via -r requirements/test.txt, django -toml==0.10.2 # via -r requirements/ci.txt, -r requirements/test.txt, pylint, pytest, tox -tox-battery==0.6.1 # via -r requirements/dev.in -tox==3.20.1 # via -r requirements/ci.txt, tox-battery -typed-ast==1.4.2 # via -r requirements/test.txt, astroid -virtualenv==20.2.2 # via -r requirements/ci.txt, tox -wrapt==1.12.1 # via -r requirements/test.txt, astroid -zipp==1.2.0 # via -r requirements/ci.txt, -r requirements/test.txt, importlib-metadata, importlib-resources +appdirs==1.4.4 + # via + # -r requirements/ci.txt + # virtualenv +astroid==2.4.2 + # via + # -r requirements/test.txt + # pylint + # pylint-celery +attrs==20.3.0 + # via + # -r requirements/test.txt + # pytest +click-log==0.3.2 + # via + # -r requirements/test.txt + # edx-lint +click==7.1.2 + # via + # -r requirements/pip-tools.txt + # -r requirements/test.txt + # click-log + # edx-lint + # pip-tools +coverage==5.3.1 + # via + # -r requirements/test.txt + # pytest-cov +distlib==0.3.1 + # via + # -r requirements/ci.txt + # virtualenv +django==2.2.17 + # via + # -c requirements/constraints.txt + # -r requirements/test.txt +edx-lint==1.6 + # via -r requirements/test.txt +filelock==3.0.12 + # via + # -r requirements/ci.txt + # tox + # virtualenv +iniconfig==1.1.1 + # via + # -r requirements/test.txt + # pytest +isort==5.7.0 + # via + # -r requirements/test.txt + # pylint +lazy-object-proxy==1.4.3 + # via + # -r requirements/test.txt + # astroid +mccabe==0.6.1 + # via + # -r requirements/test.txt + # pylint +packaging==20.8 + # via + # -r requirements/ci.txt + # -r requirements/test.txt + # pytest + # tox +pep257==0.7.0 + # via -r requirements/test.txt +pip-tools==5.5.0 + # via -r requirements/pip-tools.txt +pluggy==0.13.1 + # via + # -r requirements/ci.txt + # -r requirements/test.txt + # pytest + # tox +py==1.10.0 + # via + # -r requirements/ci.txt + # -r requirements/test.txt + # pytest + # tox +pycodestyle==2.6.0 + # via -r requirements/test.txt +pylint-celery==0.3 + # via + # -r requirements/test.txt + # edx-lint +pylint-django==2.3.0 + # via + # -r requirements/test.txt + # edx-lint +pylint-plugin-utils==0.6 + # via + # -r requirements/test.txt + # pylint-celery + # pylint-django +pylint==2.6.0 + # via + # -r requirements/test.txt + # edx-lint + # pylint-celery + # pylint-django + # pylint-plugin-utils +pyparsing==2.4.7 + # via + # -r requirements/ci.txt + # -r requirements/test.txt + # packaging +pytest-cov==2.10.1 + # via -r requirements/test.txt +pytest-django==4.1.0 + # via -r requirements/test.txt +pytest==6.2.1 + # via + # -r requirements/test.txt + # pytest-cov + # pytest-django +pytz==2020.5 + # via + # -r requirements/test.txt + # django +six==1.15.0 + # via + # -r requirements/ci.txt + # -r requirements/test.txt + # astroid + # edx-lint + # tox + # virtualenv +sqlparse==0.4.1 + # via + # -r requirements/test.txt + # django +toml==0.10.2 + # via + # -r requirements/ci.txt + # -r requirements/test.txt + # pylint + # pytest + # tox +tox-battery==0.6.1 + # via -r requirements/dev.in +tox==3.21.0 + # via + # -r requirements/ci.txt + # tox-battery +virtualenv==20.3.0 + # via + # -r requirements/ci.txt + # tox +wrapt==1.12.1 + # via + # -r requirements/test.txt + # astroid # The following packages are considered to be unsafe in a requirements file: # pip diff --git a/requirements/pip-tools.txt b/requirements/pip-tools.txt index b7f1765..aa6ffb8 100644 --- a/requirements/pip-tools.txt +++ b/requirements/pip-tools.txt @@ -4,8 +4,10 @@ # # make upgrade # -click==7.1.2 # via pip-tools -pip-tools==5.5.0 # via -r requirements/pip-tools.in +click==7.1.2 + # via pip-tools +pip-tools==5.5.0 + # via -r requirements/pip-tools.in # The following packages are considered to be unsafe in a requirements file: # pip diff --git a/requirements/pip.txt b/requirements/pip.txt index ec43971..9acedf7 100644 --- a/requirements/pip.txt +++ b/requirements/pip.txt @@ -4,8 +4,11 @@ # # make upgrade # -wheel==0.36.2 # via -r requirements/pip.in +wheel==0.36.2 + # via -r requirements/pip.in # The following packages are considered to be unsafe in a requirements file: -pip==20.3.3 # via -r requirements/pip.in -setuptools==50.3.2 # via -r requirements/pip.in +pip==20.3.3 + # via -r requirements/pip.in +setuptools==51.1.2 + # via -r requirements/pip.in diff --git a/requirements/test.txt b/requirements/test.txt index 631c5a0..484496a 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -4,35 +4,84 @@ # # make upgrade # -astroid==2.4.2 # via pylint, pylint-celery -attrs==20.3.0 # via pytest -click-log==0.3.2 # via edx-lint -click==7.1.2 # via click-log, edx-lint -coverage==5.3.1 # via -r requirements/test.in, pytest-cov -edx-lint==1.6 # via -r requirements/test.in -importlib-metadata==2.1.1 # via pluggy, pytest -iniconfig==1.1.1 # via pytest -isort==4.3.21 # via pylint -lazy-object-proxy==1.4.3 # via astroid -mccabe==0.6.1 # via pylint -packaging==20.8 # via pytest -pathlib2==2.3.5 # via pytest -pep257==0.7.0 # via -r requirements/test.in -pluggy==0.13.1 # via pytest -py==1.10.0 # via pytest -pycodestyle==2.6.0 # via -r requirements/test.in -pylint-celery==0.3 # via edx-lint -pylint-django==2.3.0 # via edx-lint -pylint-plugin-utils==0.6 # via pylint-celery, pylint-django -pylint==2.6.0 # via edx-lint, pylint-celery, pylint-django, pylint-plugin-utils -pyparsing==2.4.7 # via packaging -pytest-cov==2.10.1 # via -r requirements/test.in -pytest-django==4.1.0 # via -r requirements/test.in -pytest==6.1.2 # via pytest-cov, pytest-django -pytz==2020.5 # via -r requirements/base.txt, django -six==1.15.0 # via astroid, edx-lint, pathlib2 -sqlparse==0.4.1 # via -r requirements/base.txt, django -toml==0.10.2 # via pylint, pytest -typed-ast==1.4.2 # via astroid -wrapt==1.12.1 # via astroid -zipp==1.2.0 # via importlib-metadata +astroid==2.4.2 + # via + # pylint + # pylint-celery +attrs==20.3.0 + # via pytest +click-log==0.3.2 + # via edx-lint +click==7.1.2 + # via + # click-log + # edx-lint +coverage==5.3.1 + # via + # -r requirements/test.in + # pytest-cov + # via + # -c requirements/constraints.txt + # -r requirements/base.txt +edx-lint==1.6 + # via -r requirements/test.in +iniconfig==1.1.1 + # via pytest +isort==5.7.0 + # via pylint +lazy-object-proxy==1.4.3 + # via astroid +mccabe==0.6.1 + # via pylint +packaging==20.8 + # via pytest +pep257==0.7.0 + # via -r requirements/test.in +pluggy==0.13.1 + # via pytest +py==1.10.0 + # via pytest +pycodestyle==2.6.0 + # via -r requirements/test.in +pylint-celery==0.3 + # via edx-lint +pylint-django==2.3.0 + # via edx-lint +pylint-plugin-utils==0.6 + # via + # pylint-celery + # pylint-django +pylint==2.6.0 + # via + # edx-lint + # pylint-celery + # pylint-django + # pylint-plugin-utils +pyparsing==2.4.7 + # via packaging +pytest-cov==2.10.1 + # via -r requirements/test.in +pytest-django==4.1.0 + # via -r requirements/test.in +pytest==6.2.1 + # via + # pytest-cov + # pytest-django +pytz==2020.5 + # via + # -r requirements/base.txt + # django +six==1.15.0 + # via + # astroid + # edx-lint +sqlparse==0.4.1 + # via + # -r requirements/base.txt + # django +toml==0.10.2 + # via + # pylint + # pytest +wrapt==1.12.1 + # via astroid diff --git a/setup.py b/setup.py index 23f2f29..acfcdae 100644 --- a/setup.py +++ b/setup.py @@ -1,4 +1,3 @@ -from io import open import os import re @@ -61,8 +60,11 @@ def get_version(*file_paths): "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", + "Framework :: Django", + "Framework :: Django :: 2.2", + "Framework :: Django :: 3.0", + "Framework :: Django :: 3.1", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.8", ] ) diff --git a/tox.ini b/tox.ini index bb6c456..bce0da0 100644 --- a/tox.ini +++ b/tox.ini @@ -1,18 +1,20 @@ [tox] -envlist = py35-django{22},py38-django{22,30},quality +envlist = py38-django{22,30,31},quality [testenv] deps = - django22: Django>=2.2,<2.3 - django30: Django>=3.0,<3.1 - -r{toxinidir}/requirements/test.txt + django22: Django>=2.2,<2.3 + django30: Django>=3.0,<3.1 + django31: Django>=3.1,<3.2 + -r{toxinidir}/requirements/test.txt setenv = - DJANGO_SETTINGS_MODULE=settings + DJANGO_SETTINGS_MODULE=settings commands = pytest --cov-branch --cov-report=html:build/coverage/html --cov-report=xml:build/coverage/coverage.xml --cov=lang_pref_middleware [testenv:quality] -commands= - pycodestyle --config=.pep8 lang_pref_middleware - pylint --rcfile=.pylintrc lang_pref_middleware - # Ignore module level docstrings and all test files - pep257 --ignore=D100,D203 --match='(?!test).*py' lang_pref_middleware +commands = + pycodestyle --config=.pep8 lang_pref_middleware + pylint --rcfile=.pylintrc lang_pref_middleware + # Ignore module level docstrings and all test files + pep257 --ignore=D100,D203 --match='(?!test).*py' lang_pref_middleware +