@@ -74,10 +74,6 @@ envlist =
7474 {py3.11,py3.12}-boto3-v{1.34}
7575 {py3.11,py3.12,py3.13}-boto3-latest
7676
77- # Bottle
78- {py3.6,py3.9}-bottle-v{0.12}
79- {py3.6,py3.12,py3.13}-bottle-latest
80-
8177 # Celery
8278 {py3.6,py3.8}-celery-v{4}
8379 {py3.6,py3.8}-celery-v{5.0}
@@ -121,12 +117,6 @@ envlist =
121117 {py3.8,py3.11,py3.12}-dramatiq-v{1.17}
122118 {py3.8,py3.11,py3.12}-dramatiq-latest
123119
124- # Falcon
125- {py3.6,py3.7}-falcon-v{1,1.4,2}
126- {py3.6,py3.11,py3.12}-falcon-v{3}
127- {py3.8,py3.11,py3.12}-falcon-v{4}
128- {py3.7,py3.11,py3.12}-falcon-latest
129-
130120 # FastAPI
131121 {py3.7,py3.10}-fastapi-v{0.79}
132122 {py3.8,py3.12,py3.13}-fastapi-latest
@@ -216,12 +206,6 @@ envlist =
216206 {py3.7,py3.11,py3.12}-pymongo-v{4.3,4.7}
217207 {py3.7,py3.12,py3.13}-pymongo-latest
218208
219- # Pyramid
220- {py3.6,py3.11}-pyramid-v{1.6}
221- {py3.6,py3.11,py3.12}-pyramid-v{1.10}
222- {py3.6,py3.11,py3.12}-pyramid-v{2.0}
223- {py3.6,py3.11,py3.12}-pyramid-latest
224-
225209 # Quart
226210 {py3.7,py3.11}-quart-v{0.16}
227211 {py3.8,py3.11,py3.12}-quart-v{0.19}
@@ -267,10 +251,6 @@ envlist =
267251 {py3.8,py3.11,py3.12}-starlette-v{0.32,0.36,0.40}
268252 {py3.8,py3.12,py3.13}-starlette-latest
269253
270- # Starlite
271- {py3.8,py3.11}-starlite-v{1.48,1.51}
272- # 1.51.14 is the last starlite version; the project continues as litestar
273-
274254 # SQL Alchemy
275255 {py3.6,py3.9}-sqlalchemy-v{1.2,1.4}
276256 {py3.7,py3.11}-sqlalchemy-v{2.0}
@@ -281,11 +261,6 @@ envlist =
281261 {py3.8,py3.11,py3.12}-strawberry-v{0.222}
282262 {py3.8,py3.12,py3.13}-strawberry-latest
283263
284- # Tornado
285- {py3.8,py3.11,py3.12}-tornado-v{6.0}
286- {py3.8,py3.11,py3.12}-tornado-v{6.2}
287- {py3.8,py3.11,py3.12}-tornado-latest
288-
289264 # Trytond
290265 {py3.6}-trytond-v{4}
291266 {py3.6,py3.8}-trytond-v{5}
@@ -305,6 +280,28 @@ envlist =
305280 # These come from the populate_tox.py script. Eventually we should move all
306281 # integration tests there.
307282
283+ # ~~~ Web 2 ~~~
284+ {py3.6,py3.7}-bottle-v0.12.25
285+ {py3.6,py3.8,py3.9}-bottle-v0.13.2
286+
287+ {py3.6,py3.8,py3.9}-falcon-v3.0.1
288+ {py3.6,py3.11,py3.12}-falcon-v3.1.3
289+ {py3.8,py3.11,py3.12}-falcon-v4.0.2
290+
291+ {py3.6,py3.8,py3.9}-pyramid-v1.10.8
292+ {py3.6,py3.10,py3.11}-pyramid-v2.0.2
293+
294+ {py3.8,py3.10,py3.11}-starlite-v1.48.1
295+ {py3.8,py3.10,py3.11}-starlite-v1.49.0
296+ {py3.8,py3.10,py3.11}-starlite-v1.50.2
297+ {py3.8,py3.10,py3.11}-starlite-v1.51.16
298+
299+ {py3.6,py3.7,py3.8}-tornado-v6.0.4
300+ {py3.6,py3.8,py3.9}-tornado-v6.1
301+ {py3.7,py3.9,py3.10}-tornado-v6.2
302+ {py3.8,py3.10,py3.11}-tornado-v6.4.2
303+
304+
308305
309306[testenv]
310307deps =
@@ -389,11 +386,6 @@ deps =
389386 boto3-v1.34: boto3~=1.34.0
390387 boto3-latest: boto3
391388
392- # Bottle
393- bottle: Werkzeug<2.1.0
394- bottle-v0.12: bottle~=0.12.0
395- bottle-latest: bottle
396-
397389 # Celery
398390 celery: redis
399391 celery-v4: Celery~=4.0
@@ -457,14 +449,6 @@ deps =
457449 dramatiq-v1.17: dramatiq>=1.17,<1.18
458450 dramatiq-latest: dramatiq
459451
460- # Falcon
461- falcon-v1.4: falcon~=1.4.0
462- falcon-v1: falcon~=1.0
463- falcon-v2: falcon~=2.0
464- falcon-v3: falcon~=3.0
465- falcon-v4: falcon~=4.0
466- falcon-latest: falcon
467-
468452 # FastAPI
469453 fastapi: httpx
470454 # (this is a dependency of httpx)
@@ -609,13 +593,6 @@ deps =
609593 pymongo-v4.7: pymongo~=4.7.0
610594 pymongo-latest: pymongo
611595
612- # Pyramid
613- pyramid: Werkzeug<2.1.0
614- pyramid-v1.6: pyramid~=1.6.0
615- pyramid-v1.10: pyramid~=1.10.0
616- pyramid-v2.0: pyramid~=2.0.0
617- pyramid-latest: pyramid
618-
619596 # Quart
620597 quart: quart-auth
621598 quart: pytest-asyncio
@@ -705,16 +682,6 @@ deps =
705682 starlette-v0.40: starlette~=0.40.0
706683 starlette-latest: starlette
707684
708- # Starlite
709- starlite: pytest-asyncio
710- starlite: python-multipart
711- starlite: requests
712- starlite: cryptography
713- starlite: pydantic<2.0.0
714- starlite: httpx<0.28
715- starlite-v{1.48}: starlite~=1.48.0
716- starlite-v{1.51}: starlite~=1.51.0
717-
718685 # SQLAlchemy
719686 sqlalchemy-v1.2: sqlalchemy~=1.2.0
720687 sqlalchemy-v1.4: sqlalchemy~=1.4.0
@@ -729,14 +696,6 @@ deps =
729696 strawberry-v0.222: strawberry-graphql[fastapi,flask]~=0.222.0
730697 strawberry-latest: strawberry-graphql[fastapi,flask]
731698
732- # Tornado
733- # Tornado <6.4.1 is incompatible with Pytest ≥8.2
734- # See https://github.com/tornadoweb/tornado/pull/3382.
735- tornado-{v6.0,v6.2}: pytest<8.2
736- tornado-v6.0: tornado~=6.0.0
737- tornado-v6.2: tornado~=6.2.0
738- tornado-latest: tornado
739-
740699 # Trytond
741700 trytond: werkzeug
742701 trytond-v4: werkzeug<1.0
@@ -754,6 +713,41 @@ deps =
754713 # These come from the populate_tox.py script. Eventually we should move all
755714 # integration tests there.
756715
716+ # ~~~ Web 2 ~~~
717+ bottle-v0.12.25: bottle ==0.12.25
718+ bottle-v0.13.2: bottle ==0.13.2
719+ bottle: werkzeug<2.1.0
720+
721+ falcon-v3.0.1: falcon ==3.0.1
722+ falcon-v3.1.3: falcon ==3.1.3
723+ falcon-v4.0.2: falcon ==4.0.2
724+
725+ pyramid-v1.10.8: pyramid ==1.10.8
726+ pyramid-v2.0.2: pyramid ==2.0.2
727+ pyramid: werkzeug<2.1.0
728+
729+ starlite-v1.48.1: starlite ==1.48.1
730+ starlite-v1.49.0: starlite ==1.49.0
731+ starlite-v1.50.2: starlite ==1.50.2
732+ starlite-v1.51.16: starlite ==1.51.16
733+ starlite: pytest-asyncio
734+ starlite: python-multipart
735+ starlite: requests
736+ starlite: cryptography
737+ starlite: pydantic<2.0.0
738+ starlite: httpx<0.28
739+
740+ tornado-v6.0.4: tornado ==6.0.4
741+ tornado-v6.1: tornado ==6.1
742+ tornado-v6.2: tornado ==6.2
743+ tornado-v6.4.2: tornado ==6.4.2
744+ tornado: pytest
745+ tornado-v6.0.4: pytest<8.2
746+ tornado-v6.1: pytest<8.2
747+ tornado-v6.2: pytest<8.2
748+ py3.6-tornado: aiocontextvars
749+
750+
757751
758752setenv =
759753 PYTHONDONTWRITEBYTECODE =1
0 commit comments