Skip to content
Merged
Show file tree
Hide file tree
Changes from 7 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,py3.14t}-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
3 changes: 3 additions & 0 deletions scripts/split_tox_gh_actions/split_tox_gh_actions.py
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,9 @@
"Common": [
"common",
],
"Integration Deactivation": [
"integration_deactivation",
],
"AI": [
"anthropic",
"cohere",
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,py3.14t}-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
Loading