95 lines
2.7 KiB
INI
95 lines
2.7 KiB
INI
[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},
|
|
py36-django{111,22}-drf{38,39},
|
|
py37-django22-drf{38,39,310,311},
|
|
py38-django{22,3}-drf{310,311},
|
|
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-oauth-toolkit>=1.1.0,<1.2.0
|
|
|
|
django21: Django>=2.1,<2.2
|
|
django21: django-oauth-toolkit>=1.2.0
|
|
|
|
django22: Django>=2.2,<2.3
|
|
django22: django-oauth-toolkit>=1.2.0
|
|
|
|
django3: Django>=2.2,<2.3
|
|
django3: django-oauth-toolkit>=1.2.0
|
|
|
|
drf38: djangorestframework>=3.8,<3.9
|
|
drf39: djangorestframework>=3.9,<3.10
|
|
drf310: djangorestframework>=3.10,<3.11
|
|
drf311: djangorestframework>=3.11,<3.12
|
|
|
|
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
|