diff --git a/.github/workflows/test-integrations-web-2.yml b/.github/workflows/test-integrations-web-2.yml index 3c010fc0bd..b3973aa960 100644 --- a/.github/workflows/test-integrations-web-2.yml +++ b/.github/workflows/test-integrations-web-2.yml @@ -29,7 +29,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.6","3.7","3.8","3.9","3.11","3.12","3.13"] + python-version: ["3.8","3.9","3.11","3.12","3.13"] # python3.6 reached EOL and is no longer being supported on # new versions of hosted runners on Github Actions # ubuntu-20.04 is the last version that supported python3.6 @@ -121,7 +121,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.6","3.7","3.8","3.9","3.11","3.12","3.13"] + python-version: ["3.6","3.7","3.8","3.9","3.10","3.11","3.12","3.13"] # python3.6 reached EOL and is no longer being supported on # new versions of hosted runners on Github Actions # ubuntu-20.04 is the last version that supported python3.6 diff --git a/scripts/populate_tox/config.py b/scripts/populate_tox/config.py index 3b6cb9b3d4..0f0e150a4f 100644 --- a/scripts/populate_tox/config.py +++ b/scripts/populate_tox/config.py @@ -13,6 +13,12 @@ }, "python": ">=3.8", }, + "bottle": { + "package": "bottle", + "deps": { + "*": ["werkzeug<2.1.0"], + }, + }, "celery": { "package": "celery", "deps": { @@ -26,6 +32,10 @@ "dramatiq": { "package": "dramatiq", }, + "falcon": { + "package": "falcon", + "python": "<3.13", + }, "flask": { "package": "flask", "deps": { @@ -64,6 +74,12 @@ "*": ["mockupdb"], }, }, + "pyramid": { + "package": "pyramid", + "deps": { + "*": ["werkzeug<2.1.0"], + }, + }, "redis_py_cluster_legacy": { "package": "redis-py-cluster", }, @@ -90,6 +106,20 @@ "py3.6": ["aiocontextvars"], }, }, + "starlite": { + "package": "starlite", + "deps": { + "*": [ + "pytest-asyncio", + "python-multipart", + "requests", + "cryptography", + "pydantic<2.0.0", + "httpx<0.28", + ], + }, + "python": "<=3.11", + }, "statsig": { "package": "statsig", "deps": { @@ -102,6 +132,16 @@ "*": ["httpx"], }, }, + "tornado": { + "package": "tornado", + "deps": { + "*": ["pytest"], + "<=6.4.1": [ + "pytest<8.2" + ], # https://github.com/tornadoweb/tornado/pull/3382 + "py3.6": ["aiocontextvars"], + }, + }, "trytond": { "package": "trytond", "deps": { diff --git a/scripts/populate_tox/populate_tox.py b/scripts/populate_tox/populate_tox.py index 855caa135d..e6cb0e4de1 100644 --- a/scripts/populate_tox/populate_tox.py +++ b/scripts/populate_tox/populate_tox.py @@ -58,13 +58,11 @@ "aws_lambda", "beam", "boto3", - "bottle", "chalice", "cohere", "cloud_resource_context", "cohere", "django", - "falcon", "fastapi", "gcp", "grpc", @@ -77,15 +75,12 @@ "openai", "openai_notiktoken", "pure_eval", - "pyramid", "quart", "ray", "redis", "requests", "rq", "sanic", - "starlite", - "tornado", } diff --git a/scripts/populate_tox/tox.jinja b/scripts/populate_tox/tox.jinja index 2e8d654d55..a6fc55c7e4 100644 --- a/scripts/populate_tox/tox.jinja +++ b/scripts/populate_tox/tox.jinja @@ -70,10 +70,6 @@ envlist = {py3.11,py3.12}-boto3-v{1.34} {py3.11,py3.12,py3.13}-boto3-latest - # Bottle - {py3.6,py3.9}-bottle-v{0.12} - {py3.6,py3.12,py3.13}-bottle-latest - # Chalice {py3.6,py3.9}-chalice-v{1.16} {py3.8,py3.12,py3.13}-chalice-latest @@ -100,12 +96,6 @@ envlist = {py3.10,py3.11,py3.12}-django-v{5.0,5.1} {py3.10,py3.12,py3.13}-django-latest - # Falcon - {py3.6,py3.7}-falcon-v{1,1.4,2} - {py3.6,py3.11,py3.12}-falcon-v{3} - {py3.8,py3.11,py3.12}-falcon-v{4} - {py3.7,py3.11,py3.12}-falcon-latest - # FastAPI {py3.7,py3.10}-fastapi-v{0.79} {py3.8,py3.12,py3.13}-fastapi-latest @@ -154,12 +144,6 @@ envlist = # pure_eval {py3.6,py3.12,py3.13}-pure_eval - # Pyramid - {py3.6,py3.11}-pyramid-v{1.6} - {py3.6,py3.11,py3.12}-pyramid-v{1.10} - {py3.6,py3.11,py3.12}-pyramid-v{2.0} - {py3.6,py3.11,py3.12}-pyramid-latest - # Quart {py3.7,py3.11}-quart-v{0.16} {py3.8,py3.11,py3.12}-quart-v{0.19} @@ -191,15 +175,6 @@ envlist = {py3.8,py3.11,py3.12}-sanic-v{24.6} {py3.9,py3.12,py3.13}-sanic-latest - # Starlite - {py3.8,py3.11}-starlite-v{1.48,1.51} - # 1.51.14 is the last starlite version; the project continues as litestar - - # Tornado - {py3.8,py3.11,py3.12}-tornado-v{6.0} - {py3.8,py3.11,py3.12}-tornado-v{6.2} - {py3.8,py3.11,py3.12}-tornado-latest - # === Integrations - Auto-generated === # These come from the populate_tox.py script. Eventually we should move all # integration tests there. @@ -291,11 +266,6 @@ deps = boto3-v1.34: boto3~=1.34.0 boto3-latest: boto3 - # Bottle - bottle: Werkzeug<2.1.0 - bottle-v0.12: bottle~=0.12.0 - bottle-latest: bottle - # Chalice chalice: pytest-chalice==0.0.5 chalice-v1.16: chalice~=1.16.0 @@ -334,14 +304,6 @@ deps = django-v5.1: Django==5.1rc1 django-latest: Django - # Falcon - falcon-v1.4: falcon~=1.4.0 - falcon-v1: falcon~=1.0 - falcon-v2: falcon~=2.0 - falcon-v3: falcon~=3.0 - falcon-v4: falcon~=4.0 - falcon-latest: falcon - # FastAPI fastapi: httpx # (this is a dependency of httpx) @@ -431,13 +393,6 @@ deps = # pure_eval pure_eval: pure_eval - # Pyramid - pyramid: Werkzeug<2.1.0 - pyramid-v1.6: pyramid~=1.6.0 - pyramid-v1.10: pyramid~=1.10.0 - pyramid-v2.0: pyramid~=2.0.0 - pyramid-latest: pyramid - # Quart quart: quart-auth quart: pytest-asyncio @@ -497,24 +452,6 @@ deps = sanic-v24.6: sanic~=24.6.0 sanic-latest: sanic - # Starlite - starlite: pytest-asyncio - starlite: python-multipart - starlite: requests - starlite: cryptography - starlite: pydantic<2.0.0 - starlite: httpx<0.28 - starlite-v{1.48}: starlite~=1.48.0 - starlite-v{1.51}: starlite~=1.51.0 - - # Tornado - # Tornado <6.4.1 is incompatible with Pytest ≥8.2 - # See https://github.com/tornadoweb/tornado/pull/3382. - tornado-{v6.0,v6.2}: pytest<8.2 - tornado-v6.0: tornado~=6.0.0 - tornado-v6.2: tornado~=6.2.0 - tornado-latest: tornado - # === Integrations - Auto-generated === # These come from the populate_tox.py script. Eventually we should move all # integration tests there. diff --git a/tox.ini b/tox.ini index 71a9588f3e..cb3538e1aa 100644 --- a/tox.ini +++ b/tox.ini @@ -70,10 +70,6 @@ envlist = {py3.11,py3.12}-boto3-v{1.34} {py3.11,py3.12,py3.13}-boto3-latest - # Bottle - {py3.6,py3.9}-bottle-v{0.12} - {py3.6,py3.12,py3.13}-bottle-latest - # Chalice {py3.6,py3.9}-chalice-v{1.16} {py3.8,py3.12,py3.13}-chalice-latest @@ -100,12 +96,6 @@ envlist = {py3.10,py3.11,py3.12}-django-v{5.0,5.1} {py3.10,py3.12,py3.13}-django-latest - # Falcon - {py3.6,py3.7}-falcon-v{1,1.4,2} - {py3.6,py3.11,py3.12}-falcon-v{3} - {py3.8,py3.11,py3.12}-falcon-v{4} - {py3.7,py3.11,py3.12}-falcon-latest - # FastAPI {py3.7,py3.10}-fastapi-v{0.79} {py3.8,py3.12,py3.13}-fastapi-latest @@ -154,12 +144,6 @@ envlist = # pure_eval {py3.6,py3.12,py3.13}-pure_eval - # Pyramid - {py3.6,py3.11}-pyramid-v{1.6} - {py3.6,py3.11,py3.12}-pyramid-v{1.10} - {py3.6,py3.11,py3.12}-pyramid-v{2.0} - {py3.6,py3.11,py3.12}-pyramid-latest - # Quart {py3.7,py3.11}-quart-v{0.16} {py3.8,py3.11,py3.12}-quart-v{0.19} @@ -191,15 +175,6 @@ envlist = {py3.8,py3.11,py3.12}-sanic-v{24.6} {py3.9,py3.12,py3.13}-sanic-latest - # Starlite - {py3.8,py3.11}-starlite-v{1.48,1.51} - # 1.51.14 is the last starlite version; the project continues as litestar - - # Tornado - {py3.8,py3.11,py3.12}-tornado-v{6.0} - {py3.8,py3.11,py3.12}-tornado-v{6.2} - {py3.8,py3.11,py3.12}-tornado-latest - # === Integrations - Auto-generated === # These come from the populate_tox.py script. Eventually we should move all # integration tests there. @@ -282,6 +257,30 @@ envlist = {py3.9,py3.12,py3.13}-starlette-v0.45.3 + # ~~~ Web 2 ~~~ + {py3.6,py3.7}-bottle-v0.12.25 + {py3.6,py3.8,py3.9}-bottle-v0.13.2 + + {py3.6}-falcon-v1.4.1 + {py3.6,py3.7}-falcon-v2.0.0 + {py3.6,py3.11,py3.12}-falcon-v3.1.3 + {py3.8,py3.11,py3.12}-falcon-v4.0.2 + + {py3.6}-pyramid-v1.8.6 + {py3.6,py3.8,py3.9}-pyramid-v1.10.8 + {py3.6,py3.10,py3.11}-pyramid-v2.0.2 + + {py3.8,py3.10,py3.11}-starlite-v1.48.1 + {py3.8,py3.10,py3.11}-starlite-v1.49.0 + {py3.8,py3.10,py3.11}-starlite-v1.50.2 + {py3.8,py3.10,py3.11}-starlite-v1.51.16 + + {py3.6,py3.7,py3.8}-tornado-v6.0.4 + {py3.6,py3.8,py3.9}-tornado-v6.1 + {py3.7,py3.9,py3.10}-tornado-v6.2 + {py3.8,py3.10,py3.11}-tornado-v6.4.2 + + # ~~~ Misc ~~~ {py3.6,py3.12,py3.13}-loguru-v0.7.3 @@ -372,11 +371,6 @@ deps = boto3-v1.34: boto3~=1.34.0 boto3-latest: boto3 - # Bottle - bottle: Werkzeug<2.1.0 - bottle-v0.12: bottle~=0.12.0 - bottle-latest: bottle - # Chalice chalice: pytest-chalice==0.0.5 chalice-v1.16: chalice~=1.16.0 @@ -415,14 +409,6 @@ deps = django-v5.1: Django==5.1rc1 django-latest: Django - # Falcon - falcon-v1.4: falcon~=1.4.0 - falcon-v1: falcon~=1.0 - falcon-v2: falcon~=2.0 - falcon-v3: falcon~=3.0 - falcon-v4: falcon~=4.0 - falcon-latest: falcon - # FastAPI fastapi: httpx # (this is a dependency of httpx) @@ -512,13 +498,6 @@ deps = # pure_eval pure_eval: pure_eval - # Pyramid - pyramid: Werkzeug<2.1.0 - pyramid-v1.6: pyramid~=1.6.0 - pyramid-v1.10: pyramid~=1.10.0 - pyramid-v2.0: pyramid~=2.0.0 - pyramid-latest: pyramid - # Quart quart: quart-auth quart: pytest-asyncio @@ -578,24 +557,6 @@ deps = sanic-v24.6: sanic~=24.6.0 sanic-latest: sanic - # Starlite - starlite: pytest-asyncio - starlite: python-multipart - starlite: requests - starlite: cryptography - starlite: pydantic<2.0.0 - starlite: httpx<0.28 - starlite-v{1.48}: starlite~=1.48.0 - starlite-v{1.51}: starlite~=1.51.0 - - # Tornado - # Tornado <6.4.1 is incompatible with Pytest ≥8.2 - # See https://github.com/tornadoweb/tornado/pull/3382. - tornado-{v6.0,v6.2}: pytest<8.2 - tornado-v6.0: tornado~=6.0.0 - tornado-v6.2: tornado~=6.2.0 - tornado-latest: tornado - # === Integrations - Auto-generated === # These come from the populate_tox.py script. Eventually we should move all # integration tests there. @@ -706,6 +667,43 @@ deps = py3.6-starlette: aiocontextvars + # ~~~ Web 2 ~~~ + bottle-v0.12.25: bottle==0.12.25 + bottle-v0.13.2: bottle==0.13.2 + bottle: werkzeug<2.1.0 + + falcon-v1.4.1: falcon==1.4.1 + falcon-v2.0.0: falcon==2.0.0 + falcon-v3.1.3: falcon==3.1.3 + falcon-v4.0.2: falcon==4.0.2 + + pyramid-v1.8.6: pyramid==1.8.6 + pyramid-v1.10.8: pyramid==1.10.8 + pyramid-v2.0.2: pyramid==2.0.2 + pyramid: werkzeug<2.1.0 + + starlite-v1.48.1: starlite==1.48.1 + starlite-v1.49.0: starlite==1.49.0 + starlite-v1.50.2: starlite==1.50.2 + starlite-v1.51.16: starlite==1.51.16 + starlite: pytest-asyncio + starlite: python-multipart + starlite: requests + starlite: cryptography + starlite: pydantic<2.0.0 + starlite: httpx<0.28 + + tornado-v6.0.4: tornado==6.0.4 + tornado-v6.1: tornado==6.1 + tornado-v6.2: tornado==6.2 + tornado-v6.4.2: tornado==6.4.2 + tornado: pytest + tornado-v6.0.4: pytest<8.2 + tornado-v6.1: pytest<8.2 + tornado-v6.2: pytest<8.2 + py3.6-tornado: aiocontextvars + + # ~~~ Misc ~~~ loguru-v0.7.3: loguru==0.7.3