From 350c7402a2c852f7f9c2004ce5f3f0a53bbbf28a Mon Sep 17 00:00:00 2001 From: Ivana Kellyer Date: Tue, 2 Sep 2025 11:05:23 +0200 Subject: [PATCH 1/8] tests: Move langchain under toxgen --- .github/workflows/test-integrations-ai.yml | 91 +------------------ scripts/populate_tox/config.py | 20 +++- scripts/populate_tox/tox.jinja | 20 ---- .../split_tox_gh_actions.py | 4 +- tox.ini | 70 +++++--------- 5 files changed, 49 insertions(+), 156 deletions(-) diff --git a/.github/workflows/test-integrations-ai.yml b/.github/workflows/test-integrations-ai.yml index a6995fa268..0b39794f1e 100644 --- a/.github/workflows/test-integrations-ai.yml +++ b/.github/workflows/test-integrations-ai.yml @@ -22,89 +22,6 @@ env: CACHED_BUILD_PATHS: | ${{ github.workspace }}/dist-serverless jobs: - test-ai-latest: - name: AI (latest) - timeout-minutes: 30 - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - python-version: ["3.9","3.11","3.12"] - # 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 - # see https://github.com/actions/setup-python/issues/544#issuecomment-1332535877 - os: [ubuntu-22.04] - # Use Docker container only for Python 3.6 - container: ${{ matrix.python-version == '3.6' && 'python:3.6' || null }} - steps: - - uses: actions/checkout@v5.0.0 - - uses: actions/setup-python@v5 - if: ${{ matrix.python-version != '3.6' }} - with: - python-version: ${{ matrix.python-version }} - allow-prereleases: true - - name: Setup Test Env - run: | - pip install "coverage[toml]" tox - - name: Erase coverage - run: | - coverage erase - - name: Test anthropic latest - run: | - set -x # print commands that are executed - ./scripts/runtox.sh "py${{ matrix.python-version }}-anthropic-latest" - - name: Test cohere latest - run: | - set -x # print commands that are executed - ./scripts/runtox.sh "py${{ matrix.python-version }}-cohere-latest" - - name: Test langchain latest - run: | - set -x # print commands that are executed - ./scripts/runtox.sh "py${{ matrix.python-version }}-langchain-latest" - - name: Test openai_base latest - run: | - set -x # print commands that are executed - ./scripts/runtox.sh "py${{ matrix.python-version }}-openai_base-latest" - - name: Test openai_notiktoken latest - run: | - set -x # print commands that are executed - ./scripts/runtox.sh "py${{ matrix.python-version }}-openai_notiktoken-latest" - - name: Test openai_agents latest - run: | - set -x # print commands that are executed - ./scripts/runtox.sh "py${{ matrix.python-version }}-openai_agents-latest" - - name: Test huggingface_hub latest - run: | - set -x # print commands that are executed - ./scripts/runtox.sh "py${{ matrix.python-version }}-huggingface_hub-latest" - - name: Generate coverage XML (Python 3.6) - if: ${{ !cancelled() && matrix.python-version == '3.6' }} - run: | - export COVERAGE_RCFILE=.coveragerc36 - coverage combine .coverage-sentry-* - coverage xml --ignore-errors - - name: Generate coverage XML - if: ${{ !cancelled() && matrix.python-version != '3.6' }} - run: | - coverage combine .coverage-sentry-* - coverage xml - - name: Upload coverage to Codecov - if: ${{ !cancelled() }} - uses: codecov/codecov-action@v5.5.0 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.xml - # make sure no plugins alter our coverage reports - plugins: noop - verbose: true - - name: Upload test results to Codecov - if: ${{ !cancelled() }} - uses: codecov/test-results-action@v1 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: .junitxml - verbose: true test-ai-pinned: name: AI (pinned) timeout-minutes: 30 @@ -145,14 +62,14 @@ jobs: run: | set -x # print commands that are executed ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-langchain" - - name: Test openai_base pinned + - name: Test openai-base pinned run: | set -x # print commands that are executed - ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-openai_base" - - name: Test openai_notiktoken pinned + ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-openai-base" + - name: Test openai-notiktoken pinned run: | set -x # print commands that are executed - ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-openai_notiktoken" + ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-openai-notiktoken" - name: Test openai_agents pinned run: | set -x # print commands that are executed diff --git a/scripts/populate_tox/config.py b/scripts/populate_tox/config.py index 65e463a947..d1cb6df3ac 100644 --- a/scripts/populate_tox/config.py +++ b/scripts/populate_tox/config.py @@ -126,6 +126,22 @@ "huggingface_hub": { "package": "huggingface_hub", }, + "langchain-base": { + "package": "langchain", + "integration_name": "langchain", + "deps": { + "*": ["openai", "tiktoken"], + "<=0.1": ["httpx<0.28.0"], + }, + }, + "langchain-notiktoken": { + "package": "langchain", + "integration_name": "langchain", + "deps": { + "*": ["openai"], + "<=0.1": ["httpx<0.28.0"], + }, + }, "launchdarkly": { "package": "launchdarkly-server-sdk", }, @@ -139,7 +155,7 @@ "loguru": { "package": "loguru", }, - "openai_base": { + "openai-base": { "package": "openai", "integration_name": "openai", "deps": { @@ -148,7 +164,7 @@ }, "python": ">=3.8", }, - "openai_notiktoken": { + "openai-notiktoken": { "package": "openai", "integration_name": "openai", "deps": { diff --git a/scripts/populate_tox/tox.jinja b/scripts/populate_tox/tox.jinja index 632ce7c71b..b0d605dff0 100644 --- a/scripts/populate_tox/tox.jinja +++ b/scripts/populate_tox/tox.jinja @@ -77,12 +77,6 @@ envlist = {py3.9,py3.11,py3.12}-httpx-v{0.25,0.27} {py3.9,py3.12,py3.13}-httpx-latest - # Langchain - {py3.9,py3.11,py3.12}-langchain-v0.1 - {py3.9,py3.11,py3.12}-langchain-v0.3 - {py3.9,py3.11,py3.12}-langchain-latest - {py3.9,py3.11,py3.12}-langchain-notiktoken - # OpenTelemetry (OTel) {py3.7,py3.9,py3.12,py3.13}-opentelemetry @@ -231,20 +225,6 @@ deps = httpx-v0.27: httpx~=0.27.0 httpx-latest: httpx - # Langchain - langchain-v0.1: openai~=1.0.0 - langchain-v0.1: langchain~=0.1.11 - langchain-v0.1: tiktoken~=0.6.0 - langchain-v0.1: httpx<0.28.0 - langchain-v0.3: langchain~=0.3.0 - langchain-v0.3: langchain-community - langchain-v0.3: tiktoken - langchain-v0.3: openai - langchain-{latest,notiktoken}: langchain - langchain-{latest,notiktoken}: langchain-openai - langchain-{latest,notiktoken}: openai>=1.6.1 - langchain-latest: tiktoken~=0.6.0 - # OpenTelemetry (OTel) opentelemetry: opentelemetry-distro diff --git a/scripts/split_tox_gh_actions/split_tox_gh_actions.py b/scripts/split_tox_gh_actions/split_tox_gh_actions.py index 305ceeae76..d11da6e50e 100755 --- a/scripts/split_tox_gh_actions/split_tox_gh_actions.py +++ b/scripts/split_tox_gh_actions/split_tox_gh_actions.py @@ -62,8 +62,8 @@ "anthropic", "cohere", "langchain", - "openai_base", - "openai_notiktoken", + "openai-base", + "openai-notiktoken", "openai_agents", "huggingface_hub", ], diff --git a/tox.ini b/tox.ini index eea115876b..3d88135d95 100644 --- a/tox.ini +++ b/tox.ini @@ -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-01T14:09:50.564158+00:00 +# Last generated: 2025-09-02T09:02:57.313336+00:00 [tox] requires = @@ -77,12 +77,6 @@ envlist = {py3.9,py3.11,py3.12}-httpx-v{0.25,0.27} {py3.9,py3.12,py3.13}-httpx-latest - # Langchain - {py3.9,py3.11,py3.12}-langchain-v0.1 - {py3.9,py3.11,py3.12}-langchain-v0.3 - {py3.9,py3.11,py3.12}-langchain-latest - {py3.9,py3.11,py3.12}-langchain-notiktoken - # OpenTelemetry (OTel) {py3.7,py3.9,py3.12,py3.13}-opentelemetry @@ -138,15 +132,15 @@ envlist = {py3.9,py3.11,py3.12}-cohere-v5.13.12 {py3.9,py3.11,py3.12}-cohere-v5.17.0 - {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.102.0 + {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.102.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.102.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.102.0 {py3.10,py3.11,py3.12}-openai_agents-v0.0.19 {py3.10,py3.12,py3.13}-openai_agents-v0.1.0 @@ -412,20 +406,6 @@ deps = httpx-v0.27: httpx~=0.27.0 httpx-latest: httpx - # Langchain - langchain-v0.1: openai~=1.0.0 - langchain-v0.1: langchain~=0.1.11 - langchain-v0.1: tiktoken~=0.6.0 - langchain-v0.1: httpx<0.28.0 - langchain-v0.3: langchain~=0.3.0 - langchain-v0.3: langchain-community - langchain-v0.3: tiktoken - langchain-v0.3: openai - langchain-{latest,notiktoken}: langchain - langchain-{latest,notiktoken}: langchain-openai - langchain-{latest,notiktoken}: openai>=1.6.1 - langchain-latest: tiktoken~=0.6.0 - # OpenTelemetry (OTel) opentelemetry: opentelemetry-distro @@ -516,22 +496,22 @@ deps = cohere-v5.13.12: cohere==5.13.12 cohere-v5.17.0: cohere==5.17.0 - 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.102.0: openai==1.102.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_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.102.0: openai==1.102.0 - openai_notiktoken: pytest-asyncio - openai_notiktoken-v1.0.1: httpx<0.28 - openai_notiktoken-v1.35.15: httpx<0.28 + 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.102.0: openai==1.102.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-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.102.0: openai==1.102.0 + openai-notiktoken: pytest-asyncio + openai-notiktoken-v1.0.1: httpx<0.28 + openai-notiktoken-v1.35.15: httpx<0.28 openai_agents-v0.0.19: openai-agents==0.0.19 openai_agents-v0.1.0: openai-agents==0.1.0 From 2fa1c8fc3e41acfbc32869cec0800754263f5d2e Mon Sep 17 00:00:00 2001 From: Ivana Kellyer Date: Tue, 2 Sep 2025 11:14:21 +0200 Subject: [PATCH 2/8] add missing testpaths --- tox.ini | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/tox.ini b/tox.ini index 3d88135d95..9553c33c89 100644 --- a/tox.ini +++ b/tox.ini @@ -813,12 +813,13 @@ setenv = httpx: TESTPATH=tests/integrations/httpx huey: TESTPATH=tests/integrations/huey huggingface_hub: TESTPATH=tests/integrations/huggingface_hub - langchain: TESTPATH=tests/integrations/langchain + langchain-base: TESTPATH=tests/integrations/langchain + langchain-notiktoken: TESTPATH=tests/integrations/langchain launchdarkly: TESTPATH=tests/integrations/launchdarkly litestar: TESTPATH=tests/integrations/litestar loguru: TESTPATH=tests/integrations/loguru - openai_base: TESTPATH=tests/integrations/openai - openai_notiktoken: TESTPATH=tests/integrations/openai + openai-base: TESTPATH=tests/integrations/openai + openai-notiktoken: TESTPATH=tests/integrations/openai openai_agents: TESTPATH=tests/integrations/openai_agents openfeature: TESTPATH=tests/integrations/openfeature opentelemetry: TESTPATH=tests/integrations/opentelemetry From dd292f46cf9cea72535a3cb2c834f24b34bd5966 Mon Sep 17 00:00:00 2001 From: Ivana Kellyer Date: Tue, 2 Sep 2025 11:16:11 +0200 Subject: [PATCH 3/8] . --- scripts/populate_tox/tox.jinja | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/scripts/populate_tox/tox.jinja b/scripts/populate_tox/tox.jinja index b0d605dff0..2b968b7aa1 100644 --- a/scripts/populate_tox/tox.jinja +++ b/scripts/populate_tox/tox.jinja @@ -356,12 +356,13 @@ setenv = httpx: TESTPATH=tests/integrations/httpx huey: TESTPATH=tests/integrations/huey huggingface_hub: TESTPATH=tests/integrations/huggingface_hub - langchain: TESTPATH=tests/integrations/langchain + langchain-base: TESTPATH=tests/integrations/langchain + langchain-notiktoken: TESTPATH=tests/integrations/langchain launchdarkly: TESTPATH=tests/integrations/launchdarkly litestar: TESTPATH=tests/integrations/litestar loguru: TESTPATH=tests/integrations/loguru - openai_base: TESTPATH=tests/integrations/openai - openai_notiktoken: TESTPATH=tests/integrations/openai + openai-base: TESTPATH=tests/integrations/openai + openai-notiktoken: TESTPATH=tests/integrations/openai openai_agents: TESTPATH=tests/integrations/openai_agents openfeature: TESTPATH=tests/integrations/openfeature opentelemetry: TESTPATH=tests/integrations/opentelemetry From eabedcf2a539dd0a3f21633c54608806b790c915 Mon Sep 17 00:00:00 2001 From: Ivana Kellyer Date: Tue, 2 Sep 2025 11:37:49 +0200 Subject: [PATCH 4/8] . --- scripts/split_tox_gh_actions/split_tox_gh_actions.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/split_tox_gh_actions/split_tox_gh_actions.py b/scripts/split_tox_gh_actions/split_tox_gh_actions.py index d11da6e50e..1c3435f43b 100755 --- a/scripts/split_tox_gh_actions/split_tox_gh_actions.py +++ b/scripts/split_tox_gh_actions/split_tox_gh_actions.py @@ -61,7 +61,8 @@ "AI": [ "anthropic", "cohere", - "langchain", + "langchain-base", + "langchain-notiktoken", "openai-base", "openai-notiktoken", "openai_agents", From 06d71f3c27ea427f3ded68e11fae782ca1cb305b Mon Sep 17 00:00:00 2001 From: Ivana Kellyer Date: Tue, 2 Sep 2025 11:41:54 +0200 Subject: [PATCH 5/8] . --- .github/workflows/test-integrations-ai.yml | 8 ++++-- tox.ini | 31 +++++++++++++++++++++- 2 files changed, 36 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test-integrations-ai.yml b/.github/workflows/test-integrations-ai.yml index 0b39794f1e..72a4253744 100644 --- a/.github/workflows/test-integrations-ai.yml +++ b/.github/workflows/test-integrations-ai.yml @@ -58,10 +58,14 @@ jobs: run: | set -x # print commands that are executed ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-cohere" - - name: Test langchain pinned + - name: Test langchain-base pinned run: | set -x # print commands that are executed - ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-langchain" + ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-langchain-base" + - name: Test langchain-notiktoken pinned + run: | + set -x # print commands that are executed + ./scripts/runtox.sh --exclude-latest "py${{ matrix.python-version }}-langchain-notiktoken" - name: Test openai-base pinned run: | set -x # print commands that are executed diff --git a/tox.ini b/tox.ini index 9553c33c89..a7cd274aaa 100644 --- a/tox.ini +++ b/tox.ini @@ -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-02T09:02:57.313336+00:00 +# Last generated: 2025-09-02T09:41:41.807707+00:00 [tox] requires = @@ -132,6 +132,18 @@ envlist = {py3.9,py3.11,py3.12}-cohere-v5.13.12 {py3.9,py3.11,py3.12}-cohere-v5.17.0 + {py3.9,py3.10,py3.11}-langchain-base-v0.0.354 + {py3.9,py3.11,py3.12}-langchain-base-v0.1.20 + {py3.9,py3.11,py3.12}-langchain-base-v0.2.17 + {py3.9,py3.12,py3.13}-langchain-base-v0.3.27 + {py3.10,py3.12,py3.13}-langchain-base-v1.0.0a2 + + {py3.9,py3.10,py3.11}-langchain-notiktoken-v0.0.354 + {py3.9,py3.11,py3.12}-langchain-notiktoken-v0.1.20 + {py3.9,py3.11,py3.12}-langchain-notiktoken-v0.2.17 + {py3.9,py3.12,py3.13}-langchain-notiktoken-v0.3.27 + {py3.10,py3.12,py3.13}-langchain-notiktoken-v1.0.0a2 + {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 @@ -496,6 +508,23 @@ deps = cohere-v5.13.12: cohere==5.13.12 cohere-v5.17.0: cohere==5.17.0 + langchain-base-v0.0.354: langchain==0.0.354 + langchain-base-v0.1.20: langchain==0.1.20 + langchain-base-v0.2.17: langchain==0.2.17 + langchain-base-v0.3.27: langchain==0.3.27 + langchain-base-v1.0.0a2: langchain==1.0.0a2 + langchain-base: openai + langchain-base: tiktoken + langchain-base-v0.0.354: httpx<0.28.0 + + langchain-notiktoken-v0.0.354: langchain==0.0.354 + langchain-notiktoken-v0.1.20: langchain==0.1.20 + langchain-notiktoken-v0.2.17: langchain==0.2.17 + langchain-notiktoken-v0.3.27: langchain==0.3.27 + langchain-notiktoken-v1.0.0a2: langchain==1.0.0a2 + langchain-notiktoken: openai + langchain-notiktoken-v0.0.354: httpx<0.28.0 + 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 From 67ce4fd0725f8ad26d8c0e73ded0221d8d56d7cf Mon Sep 17 00:00:00 2001 From: Ivana Kellyer Date: Tue, 2 Sep 2025 12:14:05 +0200 Subject: [PATCH 6/8] add missing deps --- scripts/populate_tox/config.py | 6 ++++-- tox.ini | 6 +++++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/scripts/populate_tox/config.py b/scripts/populate_tox/config.py index d1cb6df3ac..09266cd732 100644 --- a/scripts/populate_tox/config.py +++ b/scripts/populate_tox/config.py @@ -130,16 +130,18 @@ "package": "langchain", "integration_name": "langchain", "deps": { - "*": ["openai", "tiktoken"], + "*": ["openai", "tiktoken", "langchain-openai"], "<=0.1": ["httpx<0.28.0"], + ">=0.3": ["langchain-community"], }, }, "langchain-notiktoken": { "package": "langchain", "integration_name": "langchain", "deps": { - "*": ["openai"], + "*": ["openai", "langchain-openai"], "<=0.1": ["httpx<0.28.0"], + ">=0.3": ["langchain-community"], }, }, "launchdarkly": { diff --git a/tox.ini b/tox.ini index a7cd274aaa..677b9c0c23 100644 --- a/tox.ini +++ b/tox.ini @@ -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-02T09:41:41.807707+00:00 +# Last generated: 2025-09-02T10:13:55.835052+00:00 [tox] requires = @@ -515,7 +515,9 @@ deps = langchain-base-v1.0.0a2: langchain==1.0.0a2 langchain-base: openai langchain-base: tiktoken + langchain-base: langchain-openai langchain-base-v0.0.354: httpx<0.28.0 + langchain-base-v0.3.27: langchain-community langchain-notiktoken-v0.0.354: langchain==0.0.354 langchain-notiktoken-v0.1.20: langchain==0.1.20 @@ -523,7 +525,9 @@ deps = langchain-notiktoken-v0.3.27: langchain==0.3.27 langchain-notiktoken-v1.0.0a2: langchain==1.0.0a2 langchain-notiktoken: openai + langchain-notiktoken: langchain-openai langchain-notiktoken-v0.0.354: httpx<0.28.0 + 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 From 74666e2d8537a25f1db3dcf4334f9644e2268d74 Mon Sep 17 00:00:00 2001 From: Ivana Kellyer Date: Tue, 2 Sep 2025 12:50:30 +0200 Subject: [PATCH 7/8] omit 1.0 --- scripts/populate_tox/config.py | 2 ++ tox.ini | 6 +----- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/scripts/populate_tox/config.py b/scripts/populate_tox/config.py index 09266cd732..0d4d0fe6ee 100644 --- a/scripts/populate_tox/config.py +++ b/scripts/populate_tox/config.py @@ -134,6 +134,7 @@ "<=0.1": ["httpx<0.28.0"], ">=0.3": ["langchain-community"], }, + "include": "<1.0", }, "langchain-notiktoken": { "package": "langchain", @@ -143,6 +144,7 @@ "<=0.1": ["httpx<0.28.0"], ">=0.3": ["langchain-community"], }, + "include": "<1.0", }, "launchdarkly": { "package": "launchdarkly-server-sdk", diff --git a/tox.ini b/tox.ini index 677b9c0c23..95c2537898 100644 --- a/tox.ini +++ b/tox.ini @@ -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-02T10:13:55.835052+00:00 +# Last generated: 2025-09-02T10:50:01.191473+00:00 [tox] requires = @@ -136,13 +136,11 @@ envlist = {py3.9,py3.11,py3.12}-langchain-base-v0.1.20 {py3.9,py3.11,py3.12}-langchain-base-v0.2.17 {py3.9,py3.12,py3.13}-langchain-base-v0.3.27 - {py3.10,py3.12,py3.13}-langchain-base-v1.0.0a2 {py3.9,py3.10,py3.11}-langchain-notiktoken-v0.0.354 {py3.9,py3.11,py3.12}-langchain-notiktoken-v0.1.20 {py3.9,py3.11,py3.12}-langchain-notiktoken-v0.2.17 {py3.9,py3.12,py3.13}-langchain-notiktoken-v0.3.27 - {py3.10,py3.12,py3.13}-langchain-notiktoken-v1.0.0a2 {py3.8,py3.11,py3.12}-openai-base-v1.0.1 {py3.8,py3.11,py3.12}-openai-base-v1.35.15 @@ -512,7 +510,6 @@ deps = langchain-base-v0.1.20: langchain==0.1.20 langchain-base-v0.2.17: langchain==0.2.17 langchain-base-v0.3.27: langchain==0.3.27 - langchain-base-v1.0.0a2: langchain==1.0.0a2 langchain-base: openai langchain-base: tiktoken langchain-base: langchain-openai @@ -523,7 +520,6 @@ deps = langchain-notiktoken-v0.1.20: langchain==0.1.20 langchain-notiktoken-v0.2.17: langchain==0.2.17 langchain-notiktoken-v0.3.27: langchain==0.3.27 - langchain-notiktoken-v1.0.0a2: langchain==1.0.0a2 langchain-notiktoken: openai langchain-notiktoken: langchain-openai langchain-notiktoken-v0.0.354: httpx<0.28.0 From e0fe7266922db9e0e8734b5841a8f24399a919a9 Mon Sep 17 00:00:00 2001 From: Ivana Kellyer Date: Tue, 2 Sep 2025 13:01:27 +0200 Subject: [PATCH 8/8] only test 0.1+ --- sentry_sdk/integrations/__init__.py | 2 +- tox.ini | 8 +------- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/sentry_sdk/integrations/__init__.py b/sentry_sdk/integrations/__init__.py index e2eadd523d..6f0109aced 100644 --- a/sentry_sdk/integrations/__init__.py +++ b/sentry_sdk/integrations/__init__.py @@ -141,7 +141,7 @@ def iter_default_integrations(with_auto_enabling_integrations): "graphene": (3, 3), "grpc": (1, 32, 0), # grpcio "huggingface_hub": (0, 22), - "langchain": (0, 0, 210), + "langchain": (0, 1, 0), "launchdarkly": (9, 8, 0), "loguru": (0, 7, 0), "openai": (1, 0, 0), diff --git a/tox.ini b/tox.ini index 95c2537898..0898bc888f 100644 --- a/tox.ini +++ b/tox.ini @@ -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-02T10:50:01.191473+00:00 +# Last generated: 2025-09-02T10:59:55.249513+00:00 [tox] requires = @@ -132,12 +132,10 @@ envlist = {py3.9,py3.11,py3.12}-cohere-v5.13.12 {py3.9,py3.11,py3.12}-cohere-v5.17.0 - {py3.9,py3.10,py3.11}-langchain-base-v0.0.354 {py3.9,py3.11,py3.12}-langchain-base-v0.1.20 {py3.9,py3.11,py3.12}-langchain-base-v0.2.17 {py3.9,py3.12,py3.13}-langchain-base-v0.3.27 - {py3.9,py3.10,py3.11}-langchain-notiktoken-v0.0.354 {py3.9,py3.11,py3.12}-langchain-notiktoken-v0.1.20 {py3.9,py3.11,py3.12}-langchain-notiktoken-v0.2.17 {py3.9,py3.12,py3.13}-langchain-notiktoken-v0.3.27 @@ -506,23 +504,19 @@ deps = cohere-v5.13.12: cohere==5.13.12 cohere-v5.17.0: cohere==5.17.0 - langchain-base-v0.0.354: langchain==0.0.354 langchain-base-v0.1.20: langchain==0.1.20 langchain-base-v0.2.17: langchain==0.2.17 langchain-base-v0.3.27: langchain==0.3.27 langchain-base: openai langchain-base: tiktoken langchain-base: langchain-openai - langchain-base-v0.0.354: httpx<0.28.0 langchain-base-v0.3.27: langchain-community - langchain-notiktoken-v0.0.354: langchain==0.0.354 langchain-notiktoken-v0.1.20: langchain==0.1.20 langchain-notiktoken-v0.2.17: langchain==0.2.17 langchain-notiktoken-v0.3.27: langchain==0.3.27 langchain-notiktoken: openai langchain-notiktoken: langchain-openai - langchain-notiktoken-v0.0.354: httpx<0.28.0 langchain-notiktoken-v0.3.27: langchain-community openai-base-v1.0.1: openai==1.0.1