6
6
[tox]
7
7
envlist =
8
8
# === Core ===
9
- py{2.7,3.4,3.5,3.6,3.7,3.8,3.9}
9
+ py{2.7,3.4,3.5,3.6,3.7,3.8,3.9,3.10 }
10
10
pypy
11
11
12
12
@@ -24,29 +24,28 @@ envlist =
24
24
{pypy,py2.7,py3.5}-django-{1.8,1.9,1.10}
25
25
{pypy,py2.7}-django-{1.8,1.9,1.10,1.11}
26
26
{py3.5,py3.6,py3.7}-django-{2.0,2.1}
27
- {py3.7,py3.8,py3.9}-django-{2.2,3.0,3.1,3.2}
27
+ {py3.7,py3.8,py3.9,py3.10 }-django-{2.2,3.0,3.1,3.2}
28
28
29
29
{pypy,py2.7,py3.4,py3.5,py3.6,py3.7,py3.8,py3.9}-flask-{0.10,0.11,0.12,1.0}
30
- {pypy,py2.7,py3.5,py3.6,py3.7,py3.8,py3.9}-flask-1.1
31
- {py3.6,py3.8,py3.9}-flask-2.0
30
+ {pypy,py2.7,py3.5,py3.6,py3.7,py3.8,py3.9,py3.10 }-flask-1.1
31
+ {py3.6,py3.8,py3.9,py3.10 }-flask-2.0
32
32
33
- {py3.7,py3.8,py3.9}-quart
33
+ {py3.7,py3.8,py3.9,py3.10 }-quart
34
34
35
- {pypy,py2.7,py3.5,py3.6,py3.7,py3.8,py3.9}-bottle-0.12
35
+ {pypy,py2.7,py3.5,py3.6,py3.7,py3.8,py3.9,py3.10 }-bottle-0.12
36
36
37
37
{pypy,py2.7,py3.5,py3.6,py3.7}-falcon-1.4
38
- {pypy,py2.7,py3.5,py3.6,py3.7,py3.8,py3.9}-falcon-2.0
38
+ {pypy,py2.7,py3.5,py3.6,py3.7,py3.8,py3.9,py3.10 }-falcon-2.0
39
39
40
40
{py3.5,py3.6,py3.7}-sanic-{0.8,18}
41
41
{py3.6,py3.7}-sanic-19
42
42
{py3.6,py3.7,py3.8}-sanic-20
43
- {py3.7,py3.8,py3.9}-sanic-21
43
+ {py3.7,py3.8,py3.9,py3.10 }-sanic-21
44
44
45
- # TODO: Add py3.9
46
45
{pypy,py2.7}-celery-3
47
46
{pypy,py2.7,py3.5,py3.6}-celery-{4.1,4.2}
48
47
{pypy,py2.7,py3.5,py3.6,py3.7,py3.8}-celery-{4.3,4.4}
49
- {py3.6,py3.7,py3.8}-celery-5.0
48
+ {py3.6,py3.7,py3.8,py3.9,py3.10 }-celery-5.0
50
49
51
50
py3.7-beam-{2.12,2.13,2.32,2.33}
52
51
@@ -55,37 +54,38 @@ envlist =
55
54
56
55
py3.7-gcp
57
56
58
- {pypy,py2.7,py3.5,py3.6,py3.7,py3.8,py3.9}-pyramid-{1.6,1.7,1.8,1.9,1.10}
57
+ {pypy,py2.7,py3.5,py3.6,py3.7,py3.8,py3.9,py3.10 }-pyramid-{1.6,1.7,1.8,1.9,1.10}
59
58
60
59
{pypy,py2.7,py3.5,py3.6}-rq-{0.6,0.7,0.8,0.9,0.10,0.11}
61
60
{pypy,py2.7,py3.5,py3.6,py3.7,py3.8,py3.9}-rq-{0.12,0.13,1.0,1.1,1.2,1.3}
62
- {py3.5,py3.6,py3.7,py3.8,py3.9}-rq-{1.4,1.5}
61
+ {py3.5,py3.6,py3.7,py3.8,py3.9,py3.10 }-rq-{1.4,1.5}
63
62
64
63
py3.7-aiohttp-3.5
65
- {py3.7,py3.8,py3.9}-aiohttp-3.6
64
+ {py3.7,py3.8,py3.9,py3.10 }-aiohttp-3.6
66
65
67
- {py3.7,py3.8,py3.9}-tornado-{5,6}
66
+ {py3.7,py3.8,py3.9}-tornado-{5}
67
+ {py3.7,py3.8,py3.9,py3.10}-tornado-{6}
68
68
69
69
{py3.5,py3.6,py3.7,py3.8,py3.9}-trytond-{4.6,5.0,5.2}
70
- {py3.6,py3.7,py3.8,py3.9}-trytond-{5.4}
70
+ {py3.6,py3.7,py3.8,py3.9,py3.10 }-trytond-{5.4}
71
71
72
72
{py2.7,py3.8,py3.9}-requests
73
73
74
74
{py2.7,py3.7,py3.8,py3.9}-redis
75
75
{py2.7,py3.7,py3.8,py3.9}-rediscluster-{1,2}
76
76
77
- py{3.7,3.8,3.9}-asgi
77
+ py{3.7,3.8,3.9,3.10 }-asgi
78
78
79
- {py2.7,py3.7,py3.8,py3.9}-sqlalchemy-{1.2,1.3}
79
+ {py2.7,py3.7,py3.8,py3.9,py3.10 }-sqlalchemy-{1.2,1.3}
80
80
81
81
82
- {py3.5,py3.6,py3.7,py3.8,py3.9}-pure_eval
82
+ {py3.5,py3.6,py3.7,py3.8,py3.9,py3.10 }-pure_eval
83
83
84
84
{py3.6,py3.7,py3.8}-chalice-{1.16,1.17,1.18,1.19,1.20}
85
85
86
86
{py2.7,py3.6,py3.7,py3.8}-boto3-{1.9,1.10,1.11,1.12,1.13,1.14,1.15,1.16}
87
87
88
- {py3.6,py3.7,py3.8,py3.9}-httpx-{0.16,0.17}
88
+ {py3.6,py3.7,py3.8,py3.9,py3.10 }-httpx-{0.16,0.17}
89
89
90
90
[testenv]
91
91
deps =
96
96
97
97
django-{1.11,2.0,2.1,2.2,3.0,3.1,3.2}: djangorestframework>=3.0.0,<4.0.0
98
98
99
- {py3.7,py3.8,py3.9}-django-{1.11,2.0,2.1,2.2,3.0,3.1,3.2}: channels>2
100
- {py3.7,py3.8,py3.9}-django-{1.11,2.0,2.1,2.2,3.0,3.1,3.2}: pytest-asyncio
101
- {py2.7,py3.7,py3.8,py3.9}-django-{1.11,2.2,3.0,3.1,3.2}: psycopg2-binary
99
+ {py3.7,py3.8,py3.9,py3.10 }-django-{1.11,2.0,2.1,2.2,3.0,3.1,3.2}: channels>2
100
+ {py3.7,py3.8,py3.9,py3.10 }-django-{1.11,2.0,2.1,2.2,3.0,3.1,3.2}: pytest-asyncio
101
+ {py2.7,py3.7,py3.8,py3.9,py3.10 }-django-{1.11,2.2,3.0,3.1,3.2}: psycopg2-binary
102
102
103
103
django-{1.6,1.7}: pytest-django<3.0
104
104
django-{1.8,1.9,1.10,1.11,2.0,2.1}: pytest-django<4.0
@@ -140,7 +140,7 @@ deps =
140
140
sanic-19: sanic>=19.0,<20.0
141
141
sanic-20: sanic>=20.0,<21.0
142
142
sanic-21: sanic>=21.0,<22.0
143
- {py3.7,py3.8,py3.9}-sanic-21: sanic_testing
143
+ {py3.7,py3.8,py3.9,py3.10 }-sanic-21: sanic_testing
144
144
{py3.5,py3.6}-sanic: aiocontextvars ==0.2.1
145
145
sanic: aiohttp
146
146
py3.5-sanic: ujson<4
@@ -163,7 +163,7 @@ deps =
163
163
celery-5.0: Celery>=5.0,<5.1
164
164
165
165
py3.5-celery: newrelic<6.0.0
166
- {pypy,py2.7,py3.6,py3.7,py3.8,py3.9}-celery: newrelic
166
+ {pypy,py2.7,py3.6,py3.7,py3.8,py3.9,py3.10 }-celery: newrelic
167
167
168
168
requests: requests>=2.0
169
169
@@ -295,6 +295,7 @@ basepython =
295
295
py3.7: python3.7
296
296
py3.8: python3.8
297
297
py3.9: python3.9
298
+ py3.10: python3.10
298
299
299
300
# Python version is pinned here because flake8 actually behaves differently
300
301
# depending on which version is used. You can patch this out to point to
@@ -314,6 +315,9 @@ commands =
314
315
; https://github.com/more-itertools/more-itertools/issues/578
315
316
py3.5-flask-{0.10,0.11,0.12}: pip install more-itertools<8.11.0
316
317
318
+ ; use old pytest for old Python versions:
319
+ {py2.7,py3.4,py3.5}: pip install pytest-forked ==1.1.3
320
+
317
321
py.test {env:TESTPATH} {posargs}
318
322
319
323
[testenv:linters]
0 commit comments