Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions scripts/populate_tox/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,13 @@
},
"python": ">=3.8",
},
"arq": {
"package": "arq",
"deps": {
"*": ["async-timeout", "pytest-asyncio", "fakeredis>=2.2.0,<2.8"],
"<=0.23": ["pydantic<2"],
},
},
"bottle": {
"package": "bottle",
"deps": {
Expand Down
1 change: 0 additions & 1 deletion scripts/populate_tox/populate_tox.py
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,6 @@
"potel",
# Integrations that can be migrated -- we should eventually remove all
# of these from the IGNORE list
"arq",
"asyncpg",
"beam",
"boto3",
Expand Down
12 changes: 0 additions & 12 deletions scripts/populate_tox/tox.jinja
Original file line number Diff line number Diff line change
Expand Up @@ -36,10 +36,6 @@ envlist =
# At a minimum, we should test against at least the lowest
# and the latest supported version of a framework.

# Arq
{py3.7,py3.11}-arq-v{0.23}
{py3.7,py3.12,py3.13}-arq-latest

# Asgi
{py3.7,py3.12,py3.13}-asgi

Expand Down Expand Up @@ -164,14 +160,6 @@ deps =
# === Integrations ===
# Arq
arq-v0.23: arq~=0.23.0
arq-v0.23: pydantic<2
arq-latest: arq
arq: fakeredis>=2.2.0,<2.8
arq: pytest-asyncio
arq: async-timeout
# Asgi
asgi: pytest-asyncio
asgi: async-asgi-testclient
Expand Down
87 changes: 44 additions & 43 deletions tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
# The file (and all resulting CI YAMLs) then need to be regenerated via
# "scripts/generate-test-files.sh".
#
# Last generated: 2025-09-02T14:49:13.002983+00:00
# Last generated: 2025-09-03T15:01:21.035943+00:00

[tox]
requires =
Expand All @@ -36,10 +36,6 @@ envlist =
# At a minimum, we should test against at least the lowest
# and the latest supported version of a framework.

# Arq
{py3.7,py3.11}-arq-v{0.23}
{py3.7,py3.12,py3.13}-arq-latest

# Asgi
{py3.7,py3.12,py3.13}-asgi

Expand Down Expand Up @@ -123,9 +119,9 @@ envlist =

# ~~~ AI ~~~
{py3.8,py3.11,py3.12}-anthropic-v0.16.0
{py3.8,py3.11,py3.12}-anthropic-v0.32.0
{py3.8,py3.11,py3.12}-anthropic-v0.48.0
{py3.8,py3.12,py3.13}-anthropic-v0.64.0
{py3.8,py3.11,py3.12}-anthropic-v0.33.1
{py3.8,py3.11,py3.12}-anthropic-v0.50.0
{py3.8,py3.12,py3.13}-anthropic-v0.66.0

{py3.9,py3.10,py3.11}-cohere-v5.4.0
{py3.9,py3.11,py3.12}-cohere-v5.9.4
Expand All @@ -141,14 +137,14 @@ envlist =
{py3.9,py3.12,py3.13}-langchain-notiktoken-v0.3.27

{py3.8,py3.11,py3.12}-openai-base-v1.0.1
{py3.8,py3.11,py3.12}-openai-base-v1.35.15
{py3.8,py3.11,py3.12}-openai-base-v1.69.0
{py3.8,py3.12,py3.13}-openai-base-v1.103.0
{py3.8,py3.11,py3.12}-openai-base-v1.36.1
{py3.8,py3.11,py3.12}-openai-base-v1.71.0
{py3.8,py3.12,py3.13}-openai-base-v1.105.0

{py3.8,py3.11,py3.12}-openai-notiktoken-v1.0.1
{py3.8,py3.11,py3.12}-openai-notiktoken-v1.35.15
{py3.8,py3.11,py3.12}-openai-notiktoken-v1.69.0
{py3.8,py3.12,py3.13}-openai-notiktoken-v1.103.0
{py3.8,py3.11,py3.12}-openai-notiktoken-v1.36.1
{py3.8,py3.11,py3.12}-openai-notiktoken-v1.71.0
{py3.8,py3.12,py3.13}-openai-notiktoken-v1.105.0

{py3.10,py3.11,py3.12}-openai_agents-v0.0.19
{py3.10,py3.12,py3.13}-openai_agents-v0.1.0
Expand Down Expand Up @@ -227,6 +223,11 @@ envlist =


# ~~~ Tasks ~~~
{py3.7,py3.9,py3.10}-arq-v0.23
{py3.7,py3.10,py3.11}-arq-v0.24.0
{py3.7,py3.10,py3.11}-arq-v0.25.0
{py3.8,py3.11,py3.12}-arq-v0.26.3

{py3.6,py3.7,py3.8}-celery-v4.4.7
{py3.6,py3.7,py3.8}-celery-v5.0.5
{py3.8,py3.12,py3.13}-celery-v5.5.3
Expand All @@ -250,9 +251,9 @@ envlist =
{py3.6,py3.7}-django-v1.11.29
{py3.6,py3.8,py3.9}-django-v2.2.28
{py3.6,py3.9,py3.10}-django-v3.2.25
{py3.8,py3.11,py3.12}-django-v4.2.23
{py3.8,py3.11,py3.12}-django-v4.2.24
{py3.10,py3.11,py3.12}-django-v5.0.14
{py3.10,py3.12,py3.13}-django-v5.2.5
{py3.10,py3.12,py3.13}-django-v5.2.6

{py3.6,py3.7,py3.8}-flask-v1.1.4
{py3.8,py3.12,py3.13}-flask-v2.3.3
Expand Down Expand Up @@ -353,14 +354,6 @@ deps =

# === Integrations ===

# Arq
arq-v0.23: arq~=0.23.0
arq-v0.23: pydantic<2
arq-latest: arq
arq: fakeredis>=2.2.0,<2.8
arq: pytest-asyncio
arq: async-timeout

# Asgi
asgi: pytest-asyncio
asgi: async-asgi-testclient
Expand Down Expand Up @@ -491,13 +484,12 @@ deps =

# ~~~ AI ~~~
anthropic-v0.16.0: anthropic==0.16.0
anthropic-v0.32.0: anthropic==0.32.0
anthropic-v0.48.0: anthropic==0.48.0
anthropic-v0.64.0: anthropic==0.64.0
anthropic-v0.33.1: anthropic==0.33.1
anthropic-v0.50.0: anthropic==0.50.0
anthropic-v0.66.0: anthropic==0.66.0
anthropic: pytest-asyncio
anthropic-v0.16.0: httpx<0.28.0
anthropic-v0.32.0: httpx<0.28.0
anthropic-v0.48.0: httpx<0.28.0
anthropic-v0.33.1: httpx<0.28.0

cohere-v5.4.0: cohere==5.4.0
cohere-v5.9.4: cohere==5.9.4
Expand All @@ -520,21 +512,21 @@ deps =
langchain-notiktoken-v0.3.27: langchain-community

openai-base-v1.0.1: openai==1.0.1
openai-base-v1.35.15: openai==1.35.15
openai-base-v1.69.0: openai==1.69.0
openai-base-v1.103.0: openai==1.103.0
openai-base-v1.36.1: openai==1.36.1
openai-base-v1.71.0: openai==1.71.0
openai-base-v1.105.0: openai==1.105.0
openai-base: pytest-asyncio
openai-base: tiktoken
openai-base-v1.0.1: httpx<0.28
openai-base-v1.35.15: httpx<0.28
openai-base-v1.36.1: httpx<0.28

openai-notiktoken-v1.0.1: openai==1.0.1
openai-notiktoken-v1.35.15: openai==1.35.15
openai-notiktoken-v1.69.0: openai==1.69.0
openai-notiktoken-v1.103.0: openai==1.103.0
openai-notiktoken-v1.36.1: openai==1.36.1
openai-notiktoken-v1.71.0: openai==1.71.0
openai-notiktoken-v1.105.0: openai==1.105.0
openai-notiktoken: pytest-asyncio
openai-notiktoken-v1.0.1: httpx<0.28
openai-notiktoken-v1.35.15: httpx<0.28
openai-notiktoken-v1.36.1: httpx<0.28

openai_agents-v0.0.19: openai-agents==0.0.19
openai_agents-v0.1.0: openai-agents==0.1.0
Expand Down Expand Up @@ -635,6 +627,15 @@ deps =


# ~~~ Tasks ~~~
arq-v0.23: arq==0.23
arq-v0.24.0: arq==0.24.0
arq-v0.25.0: arq==0.25.0
arq-v0.26.3: arq==0.26.3
arq: async-timeout
arq: pytest-asyncio
arq: fakeredis>=2.2.0,<2.8
arq-v0.23: pydantic<2

celery-v4.4.7: celery==4.4.7
celery-v5.0.5: celery==5.0.5
celery-v5.5.3: celery==5.5.3
Expand All @@ -661,23 +662,23 @@ deps =
django-v1.11.29: django==1.11.29
django-v2.2.28: django==2.2.28
django-v3.2.25: django==3.2.25
django-v4.2.23: django==4.2.23
django-v4.2.24: django==4.2.24
django-v5.0.14: django==5.0.14
django-v5.2.5: django==5.2.5
django-v5.2.6: django==5.2.6
django: psycopg2-binary
django: djangorestframework
django: pytest-django
django: Werkzeug
django-v2.2.28: channels[daphne]
django-v3.2.25: channels[daphne]
django-v4.2.23: channels[daphne]
django-v4.2.24: channels[daphne]
django-v5.0.14: channels[daphne]
django-v5.2.5: channels[daphne]
django-v5.2.6: channels[daphne]
django-v2.2.28: six
django-v3.2.25: pytest-asyncio
django-v4.2.23: pytest-asyncio
django-v4.2.24: pytest-asyncio
django-v5.0.14: pytest-asyncio
django-v5.2.5: pytest-asyncio
django-v5.2.6: pytest-asyncio
django-v1.11.29: djangorestframework>=3.0,<4.0
django-v1.11.29: Werkzeug<2.1.0
django-v2.2.28: djangorestframework>=3.0,<4.0
Expand Down