[tox] minversion = 3.3.0 isolated_build = true isolated_build_env = .package # https://docs.djangoproject.com/en/dev/faq/install/#what-python-version-can-i-use-with-django envlist = py27-django111-drf39-typing, py27-django111-drf{38,39}, py{35,36}-django{111,21,22}-drf{38,39}, py37-django{21,22}-drf{38,39,310}, py38-django22-drf310, djmaster, lint, docs skip_missing_interpreters = true [testenv:.package] # no additional dependencies besides PEP 517 deps = [testenv] deps = django111: Django>=1.11,<2.0 django111: django-cors-headers>=2.1.0 django111: django-oauth-toolkit>=1.1.0,<1.2.0 django21: Django>=2.1,<2.2 django21: django-cors-headers>=2.1.0 django21: django-oauth-toolkit>=1.2.0 django22: Django>=2.2,<2.3 django22: django-cors-headers>=2.1.0 django22: django-oauth-toolkit>=1.2.0 drf38: djangorestframework>=3.8,<3.9 drf39: djangorestframework>=3.9,<3.10 drf310: djangorestframework>=3.10 typing: typing>=3.6.6 # test with the latest builds of Django and django-rest-framework # to get early warning of compatibility issues djmaster: https://github.com/django/django/archive/master.tar.gz djmaster: https://github.com/ottoyiu/django-cors-headers/archive/master.tar.gz djmaster: https://github.com/encode/django-rest-framework/archive/master.tar.gz djmaster: django-oauth-toolkit>=1.2.0 # other dependencies -r requirements/validation.txt -r requirements/test.txt commands = pytest -n 2 --cov --cov-config .coveragerc --cov-append --cov-report="" {posargs} [testenv:lint] skip_install = true deps = -r requirements/lint.txt commands = flake8 src/drf_yasg testproj tests setup.py [testenv:docs] deps = -r requirements/docs.txt commands = twine check .tox/dist/* sphinx-build -WnEa -b html docs docs/_build/html [pytest] DJANGO_SETTINGS_MODULE = testproj.settings.local python_paths = testproj addopts = --ignore=node_modules [flake8] max-line-length = 120 exclude = **/migrations/* ignore = F405,W504 [isort] skip = .eggs,.tox,docs,env,venv,node_modules skip_glob = **/migrations/* not_skip = __init__.py atomic = true multi_line_output = 5 line_length = 120 known_future_library = six known_standard_library = collections,copy,distutils,functools,inspect,io,json,logging,operator,os,pkg_resources,re,setuptools,sys, types,warnings known_third_party = coreapi,coreschema,datadiff,dj_database_url,django,django_filters,djangorestframework_camel_case, rest_framework_recursive,flex,gunicorn,inflection,pytest,rest_framework,ruamel,setuptools_scm, swagger_spec_validator,uritemplate,user_agents,whitenoise,oauth2_provider,packaging known_first_party = drf_yasg,testproj,articles,people,snippets,todo,users,urlconfs