forked from tfranzel/drf-spectacular
-
Notifications
You must be signed in to change notification settings - Fork 0
/
tox.ini
138 lines (110 loc) · 3.16 KB
/
tox.ini
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
[tox]
envlist =
py39-lint,py39-docs,
{py36,py37,py38}-django{2.2}-drf{3.10,3.11},
{py37,py38,py39}-django{3.1,3.2}-drf{3.11,3.12},
py310-django3.2-drf3.12
py39-django3.2-drfmaster
py39-djangomaster-drf3.12
py39-drfmaster-djangomaster
py310-drfmaster-djangomaster-allowcontribfail
skip_missing_interpreters = true
[testenv]
commands = ./runtests.py {posargs:--fast --cov=drf_spectacular --cov=tests --cov-report=xml}
setenv =
PYTHONDONTWRITEBYTECODE=1
passenv =
CI
deps =
django2.2: Django>=2.2,<3.0
django3.1: Django>=3.1,<3.2
django3.2: Django>=3.2,<4.0
drf3.10: djangorestframework>=3.10,<3.11
drf3.11: djangorestframework>=3.11,<3.12
drf3.12: djangorestframework>=3.12,<3.13
djangomaster: https://github.com/django/django/archive/main.tar.gz
drfmaster: https://github.com/encode/django-rest-framework/archive/master.tar.gz
-r requirements/testing.txt
-r requirements/optionals.txt
[testenv:py39-drfmaster-djangomaster-allowcontribfail]
commands = ./runtests.py {posargs:--fast --cov=drf_spectacular --cov=tests --cov-report=xml --allow-contrib-fail}
[testenv:py39-lint]
commands = ./runtests.py --lintonly
deps =
-r requirements/testing.txt
[testenv:py39-docs]
commands = sphinx-build -WEa -b html -d {envtmpdir}/doctrees docs {envtmpdir}/html
deps =
-r requirements/docs.txt
[coverage:report]
precision = 2
exclude_lines =
pragma: no cover
except ImportError
raise NotImplementedError
if __name__ == .__main__.:
if TYPE_CHECKING:
[flake8]
ignore =
W503 # line break before binary operator
max-line-length = 120
[isort]
skip = .eggs,.tox,docs,env
skip_glob = venv*
line_length = 100
known_first_party = drf_spectacular,tests
known_third_party =
django
rest_framework
uritemplate
yaml
jsonschema
inflection
allauth
dj_rest_auth
rest_framework_simplejwt
rest_polymorphic
rest_framework_jwt
polymorphic
oauth2_provider
djstripe
multi_line_output = 5
use_parentheses = true
include_trailing_comma = true
[mypy]
python_version = 3.8
plugins = mypy_django_plugin.main,mypy_drf_plugin.main
[mypy.plugins.django-stubs]
django_settings_module = "tests.settings"
[mypy-rest_framework.compat.*]
ignore_missing_imports = True
[mypy-rest_framework.utils.mediatypes.*]
ignore_missing_imports = True
[mypy-allauth.*]
ignore_missing_imports = True
[mypy-dj_rest_auth.*]
ignore_missing_imports = True
[mypy-rest_framework_simplejwt.*]
ignore_missing_imports = True
[mypy-oauth2_provider.*]
ignore_missing_imports = True
[mypy-rest_framework_jwt.*]
ignore_missing_imports = True
[mypy-uritemplate.*]
ignore_missing_imports = True
[mypy-inflection.*]
ignore_missing_imports = True
[mypy-jsonschema.*]
ignore_missing_imports = True
[mypy-djangorestframework_camel_case.util.*]
ignore_missing_imports = True
[mypy-django_filters.*]
ignore_missing_imports = True
[mypy-polymorphic.*]
ignore_missing_imports = True
[mypy-rest_polymorphic.*]
ignore_missing_imports = True
[mypy-rest_framework_nested.*]
ignore_missing_imports = True
[mypy-rest_framework_recursive.*]
ignore_missing_imports = True