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
4 changes: 4 additions & 0 deletions .github/workflows/test-integrations-misc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,10 @@ jobs:
run: |
set -x # print commands that are executed
./scripts/runtox.sh "py${{ matrix.python-version }}-typer"
- name: Test integration_deactivation
run: |
set -x # print commands that are executed
./scripts/runtox.sh "py${{ matrix.python-version }}-integration_deactivation"
- name: Generate coverage XML (Python 3.6)
if: ${{ !cancelled() && matrix.python-version == '3.6' }}
run: |
Expand Down
14 changes: 7 additions & 7 deletions scripts/populate_tox/package_dependencies.jsonl

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions scripts/populate_tox/populate_tox.py
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@
"aws_lambda",
"cloud_resource_context",
"common",
"integration_deactivation",
"gcp",
"gevent",
"opentelemetry",
Expand Down
32 changes: 16 additions & 16 deletions scripts/populate_tox/releases.jsonl

Large diffs are not rendered by default.

9 changes: 9 additions & 0 deletions scripts/populate_tox/tox.jinja
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,9 @@ envlist =
# === Gevent ===
{py3.6,py3.8,py3.10,py3.11,py3.12}-gevent

# === Integration Deactivation ===
{py3.9,py3.10,py3.11,py3.12,py3.13,py3.14}-integration_deactivation

# === Integrations ===

# Asgi
Expand Down Expand Up @@ -88,6 +91,11 @@ deps =
{py3.10,py3.11}-gevent: zope.event<5.0.0
{py3.10,py3.11}-gevent: zope.interface<8.0

# === Integration Deactivation ===
integration_deactivation: openai
integration_deactivation: anthropic
integration_deactivation: langchain

# === Integrations ===

# Asgi
Expand Down Expand Up @@ -144,6 +152,7 @@ setenv =
# TESTPATH definitions for test suites not managed by toxgen
common: TESTPATH=tests
gevent: TESTPATH=tests
integration_deactivation: TESTPATH=tests/test_ai_integration_deactivation.py
asgi: TESTPATH=tests/integrations/asgi
aws_lambda: TESTPATH=tests/integrations/aws_lambda
cloud_resource_context: TESTPATH=tests/integrations/cloud_resource_context
Expand Down
1 change: 1 addition & 0 deletions scripts/split_tox_gh_actions/split_tox_gh_actions.py
Original file line number Diff line number Diff line change
Expand Up @@ -154,6 +154,7 @@
"pure_eval",
"trytond",
"typer",
"integration_deactivation",
],
}

Expand Down
85 changes: 47 additions & 38 deletions tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,9 @@ envlist =
# === Gevent ===
{py3.6,py3.8,py3.10,py3.11,py3.12}-gevent

# === Integration Deactivation ===
{py3.9,py3.10,py3.11,py3.12,py3.13,py3.14}-integration_deactivation

# === Integrations ===

# Asgi
Expand Down Expand Up @@ -60,31 +63,31 @@ envlist =
{py3.9,py3.12,py3.13}-google_genai-v1.29.0
{py3.9,py3.12,py3.13}-google_genai-v1.35.0
{py3.9,py3.12,py3.13}-google_genai-v1.41.0
{py3.9,py3.13,py3.14,py3.14t}-google_genai-v1.46.0
{py3.9,py3.13,py3.14,py3.14t}-google_genai-v1.47.0

{py3.8,py3.10,py3.11}-huggingface_hub-v0.24.7
{py3.8,py3.12,py3.13}-huggingface_hub-v0.36.0
{py3.9,py3.12,py3.13}-huggingface_hub-v1.0.1

{py3.9,py3.11,py3.12}-langchain-base-v0.1.20
{py3.9,py3.12,py3.13}-langchain-base-v0.3.27
{py3.10,py3.13,py3.14}-langchain-base-v1.0.2
{py3.10,py3.13,py3.14}-langchain-base-v1.0.3

{py3.9,py3.11,py3.12}-langchain-notiktoken-v0.1.20
{py3.9,py3.12,py3.13}-langchain-notiktoken-v0.3.27
{py3.10,py3.13,py3.14}-langchain-notiktoken-v1.0.2
{py3.10,py3.13,py3.14}-langchain-notiktoken-v1.0.3

{py3.9,py3.13,py3.14}-langgraph-v0.6.11
{py3.10,py3.12,py3.13}-langgraph-v1.0.1
{py3.10,py3.12,py3.13}-langgraph-v1.0.2

{py3.9,py3.12,py3.13}-litellm-v1.77.7
{py3.9,py3.12,py3.13}-litellm-v1.78.7
{py3.9,py3.12,py3.13}-litellm-v1.79.0
{py3.9,py3.12,py3.13}-litellm-v1.79.1

{py3.10,py3.12,py3.13}-mcp-v1.15.0
{py3.10,py3.12,py3.13}-mcp-v1.16.0
{py3.10,py3.12,py3.13}-mcp-v1.17.0
{py3.10,py3.12,py3.13}-mcp-v1.19.0
{py3.10,py3.12,py3.13}-mcp-v1.20.0

{py3.8,py3.11,py3.12}-openai-base-v1.0.1
{py3.8,py3.12,py3.13}-openai-base-v1.109.1
Expand All @@ -100,16 +103,16 @@ envlist =
{py3.10,py3.12,py3.13}-openai_agents-v0.4.2

{py3.10,py3.12,py3.13}-pydantic_ai-v1.0.18
{py3.10,py3.12,py3.13}-pydantic_ai-v1.2.1
{py3.10,py3.12,py3.13}-pydantic_ai-v1.4.0
{py3.10,py3.12,py3.13}-pydantic_ai-v1.7.0
{py3.10,py3.12,py3.13}-pydantic_ai-v1.3.0
{py3.10,py3.12,py3.13}-pydantic_ai-v1.6.0
{py3.10,py3.12,py3.13}-pydantic_ai-v1.9.1


# ~~~ Cloud ~~~
{py3.6,py3.7}-boto3-v1.12.49
{py3.6,py3.9,py3.10}-boto3-v1.20.54
{py3.7,py3.11,py3.12}-boto3-v1.28.85
{py3.9,py3.13,py3.14,py3.14t}-boto3-v1.40.61
{py3.9,py3.13,py3.14,py3.14t}-boto3-v1.40.64

{py3.6,py3.7,py3.8}-chalice-v1.16.0
{py3.9,py3.12,py3.13}-chalice-v1.32.0
Expand Down Expand Up @@ -144,13 +147,13 @@ envlist =

# ~~~ Flags ~~~
{py3.8,py3.12,py3.13}-launchdarkly-v9.8.1
{py3.9,py3.13,py3.14,py3.14t}-launchdarkly-v9.12.2
{py3.9,py3.13,py3.14,py3.14t}-launchdarkly-v9.12.3

{py3.8,py3.13,py3.14,py3.14t}-openfeature-v0.7.5
{py3.9,py3.13,py3.14,py3.14t}-openfeature-v0.8.3

{py3.7,py3.13,py3.14}-statsig-v0.55.3
{py3.7,py3.13,py3.14}-statsig-v0.66.0
{py3.7,py3.13,py3.14}-statsig-v0.66.1

{py3.8,py3.12,py3.13}-unleash-v6.0.1
{py3.8,py3.12,py3.13}-unleash-v6.3.0
Expand Down Expand Up @@ -195,7 +198,7 @@ envlist =

{py3.6,py3.7,py3.8}-celery-v4.4.7
{py3.8,py3.12,py3.13}-celery-v5.5.3
{py3.9,py3.12,py3.13}-celery-v5.6.0b2
{py3.9,py3.12,py3.13}-celery-v5.6.0rc1

{py3.6,py3.7}-dramatiq-v1.9.0
{py3.9,py3.12,py3.13}-dramatiq-v1.18.0
Expand All @@ -204,7 +207,7 @@ envlist =
{py3.6,py3.11,py3.12}-huey-v2.5.4

{py3.9,py3.10}-ray-v2.7.2
{py3.9,py3.12,py3.13}-ray-v2.51.0
{py3.9,py3.12,py3.13}-ray-v2.51.1

{py3.6}-rq-v0.8.2
{py3.6,py3.7}-rq-v0.13.0
Expand All @@ -231,12 +234,12 @@ envlist =
{py3.6,py3.9,py3.10}-starlette-v0.16.0
{py3.7,py3.10,py3.11}-starlette-v0.27.0
{py3.8,py3.12,py3.13}-starlette-v0.38.6
{py3.9,py3.13,py3.14,py3.14t}-starlette-v0.49.1
{py3.10,py3.13,py3.14,py3.14t}-starlette-v0.50.0

{py3.6,py3.9,py3.10}-fastapi-v0.79.1
{py3.7,py3.10,py3.11}-fastapi-v0.93.0
{py3.8,py3.10,py3.11}-fastapi-v0.107.0
{py3.8,py3.13,py3.14,py3.14t}-fastapi-v0.120.1
{py3.8,py3.13,py3.14,py3.14t}-fastapi-v0.121.0


# ~~~ Web 2 ~~~
Expand Down Expand Up @@ -287,7 +290,7 @@ envlist =
{py3.6}-trytond-v4.8.18
{py3.6,py3.7,py3.8}-trytond-v5.8.16
{py3.8,py3.10,py3.11}-trytond-v6.8.17
{py3.9,py3.12,py3.13}-trytond-v7.6.9
{py3.9,py3.12,py3.13}-trytond-v7.6.10

{py3.7,py3.12,py3.13}-typer-v0.15.4
{py3.8,py3.13,py3.14,py3.14t}-typer-v0.20.0
Expand Down Expand Up @@ -325,6 +328,11 @@ deps =
{py3.10,py3.11}-gevent: zope.event<5.0.0
{py3.10,py3.11}-gevent: zope.interface<8.0

# === Integration Deactivation ===
integration_deactivation: openai
integration_deactivation: anthropic
integration_deactivation: langchain

# === Integrations ===

# Asgi
Expand Down Expand Up @@ -365,7 +373,7 @@ deps =
google_genai-v1.29.0: google-genai==1.29.0
google_genai-v1.35.0: google-genai==1.35.0
google_genai-v1.41.0: google-genai==1.41.0
google_genai-v1.46.0: google-genai==1.46.0
google_genai-v1.47.0: google-genai==1.47.0
google_genai: pytest-asyncio

huggingface_hub-v0.24.7: huggingface_hub==0.24.7
Expand All @@ -376,34 +384,34 @@ deps =

langchain-base-v0.1.20: langchain==0.1.20
langchain-base-v0.3.27: langchain==0.3.27
langchain-base-v1.0.2: langchain==1.0.2
langchain-base-v1.0.3: langchain==1.0.3
langchain-base: openai
langchain-base: tiktoken
langchain-base: langchain-openai
langchain-base-v0.3.27: langchain-community
langchain-base-v1.0.2: langchain-community
langchain-base-v1.0.2: langchain-classic
langchain-base-v1.0.3: langchain-community
langchain-base-v1.0.3: langchain-classic

langchain-notiktoken-v0.1.20: langchain==0.1.20
langchain-notiktoken-v0.3.27: langchain==0.3.27
langchain-notiktoken-v1.0.2: langchain==1.0.2
langchain-notiktoken-v1.0.3: langchain==1.0.3
langchain-notiktoken: openai
langchain-notiktoken: langchain-openai
langchain-notiktoken-v0.3.27: langchain-community
langchain-notiktoken-v1.0.2: langchain-community
langchain-notiktoken-v1.0.2: langchain-classic
langchain-notiktoken-v1.0.3: langchain-community
langchain-notiktoken-v1.0.3: langchain-classic

langgraph-v0.6.11: langgraph==0.6.11
langgraph-v1.0.1: langgraph==1.0.1
langgraph-v1.0.2: langgraph==1.0.2

litellm-v1.77.7: litellm==1.77.7
litellm-v1.78.7: litellm==1.78.7
litellm-v1.79.0: litellm==1.79.0
litellm-v1.79.1: litellm==1.79.1

mcp-v1.15.0: mcp==1.15.0
mcp-v1.16.0: mcp==1.16.0
mcp-v1.17.0: mcp==1.17.0
mcp-v1.19.0: mcp==1.19.0
mcp-v1.20.0: mcp==1.20.0
mcp: pytest-asyncio

openai-base-v1.0.1: openai==1.0.1
Expand All @@ -426,17 +434,17 @@ deps =
openai_agents: pytest-asyncio

pydantic_ai-v1.0.18: pydantic-ai==1.0.18
pydantic_ai-v1.2.1: pydantic-ai==1.2.1
pydantic_ai-v1.4.0: pydantic-ai==1.4.0
pydantic_ai-v1.7.0: pydantic-ai==1.7.0
pydantic_ai-v1.3.0: pydantic-ai==1.3.0
pydantic_ai-v1.6.0: pydantic-ai==1.6.0
pydantic_ai-v1.9.1: pydantic-ai==1.9.1
pydantic_ai: pytest-asyncio


# ~~~ Cloud ~~~
boto3-v1.12.49: boto3==1.12.49
boto3-v1.20.54: boto3==1.20.54
boto3-v1.28.85: boto3==1.28.85
boto3-v1.40.61: boto3==1.40.61
boto3-v1.40.64: boto3==1.40.64
{py3.7,py3.8}-boto3: urllib3<2.0.0

chalice-v1.16.0: chalice==1.16.0
Expand Down Expand Up @@ -480,13 +488,13 @@ deps =

# ~~~ Flags ~~~
launchdarkly-v9.8.1: launchdarkly-server-sdk==9.8.1
launchdarkly-v9.12.2: launchdarkly-server-sdk==9.12.2
launchdarkly-v9.12.3: launchdarkly-server-sdk==9.12.3

openfeature-v0.7.5: openfeature-sdk==0.7.5
openfeature-v0.8.3: openfeature-sdk==0.8.3

statsig-v0.55.3: statsig==0.55.3
statsig-v0.66.0: statsig==0.66.0
statsig-v0.66.1: statsig==0.66.1
statsig: typing_extensions

unleash-v6.0.1: UnleashClient==6.0.1
Expand Down Expand Up @@ -556,7 +564,7 @@ deps =

celery-v4.4.7: celery==4.4.7
celery-v5.5.3: celery==5.5.3
celery-v5.6.0b2: celery==5.6.0b2
celery-v5.6.0rc1: celery==5.6.0rc1
celery: newrelic<10.17.0
celery: redis
{py3.7}-celery: importlib-metadata<5.0
Expand All @@ -568,7 +576,7 @@ deps =
huey-v2.5.4: huey==2.5.4

ray-v2.7.2: ray==2.7.2
ray-v2.51.0: ray==2.51.0
ray-v2.51.1: ray==2.51.1

rq-v0.8.2: rq==0.8.2
rq-v0.13.0: rq==0.13.0
Expand Down Expand Up @@ -626,7 +634,7 @@ deps =
starlette-v0.16.0: starlette==0.16.0
starlette-v0.27.0: starlette==0.27.0
starlette-v0.38.6: starlette==0.38.6
starlette-v0.49.1: starlette==0.49.1
starlette-v0.50.0: starlette==0.50.0
starlette: pytest-asyncio
starlette: python-multipart
starlette: requests
Expand All @@ -640,7 +648,7 @@ deps =
fastapi-v0.79.1: fastapi==0.79.1
fastapi-v0.93.0: fastapi==0.93.0
fastapi-v0.107.0: fastapi==0.107.0
fastapi-v0.120.1: fastapi==0.120.1
fastapi-v0.121.0: fastapi==0.121.0
fastapi: httpx
fastapi: pytest-asyncio
fastapi: python-multipart
Expand Down Expand Up @@ -735,7 +743,7 @@ deps =
trytond-v4.8.18: trytond==4.8.18
trytond-v5.8.16: trytond==5.8.16
trytond-v6.8.17: trytond==6.8.17
trytond-v7.6.9: trytond==7.6.9
trytond-v7.6.10: trytond==7.6.10
trytond: werkzeug
trytond-v4.6.22: werkzeug<1.0
trytond-v4.8.18: werkzeug<1.0
Expand All @@ -760,6 +768,7 @@ setenv =
# TESTPATH definitions for test suites not managed by toxgen
common: TESTPATH=tests
gevent: TESTPATH=tests
integration_deactivation: TESTPATH=tests/test_ai_integration_deactivation.py
asgi: TESTPATH=tests/integrations/asgi
aws_lambda: TESTPATH=tests/integrations/aws_lambda
cloud_resource_context: TESTPATH=tests/integrations/cloud_resource_context
Expand Down