From 219b372051b6b191f13bd4789eb7adefa1101190 Mon Sep 17 00:00:00 2001 From: Mason Daugherty Date: Tue, 22 Sep 2026 00:27:19 -0400 Subject: [PATCH] fix(deepseek,infra): resolve compatible minimum OpenAI dependencies, bump min ver (#40738) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - The [DeepSeek release check](https://github.com/langchain-ai/langchain/actions/runs/35686046493/job/106613011631) downgraded core to 1.4.7 while retaining local OpenAI 1.6.3, which requires core 1.6.4. Include `langchain-openai` in release minimum-version selection so both dependencies are resolved together; preserve local packages during PR checks. - Raise DeepSeek's OpenAI minimum to 1.3.1: testing the old 1.1.0 floor exposes missing model-profile behavior and package-version metadata. Add regression coverage for release and PR dependency selection. ## Release note `langchain-deepseek` now requires `langchain-openai>=1.3.1` for model profiles and package-version metadata. Made by [Open SWE](https://github.com/langchain-ai/open-swe) · [view thread](https://openswe.vercel.app/agents/ed7f0398-e808-5f5b-9eb4-0521c82fff7f) · openai:gpt-6-astra (low) Co-authored-by: Mason Co-authored-by: open-swe[bot] --- .github/scripts/get_min_versions.py | 2 ++ .github/scripts/test_get_min_versions.py | 32 ++++++++++++++++++++++++ libs/partners/deepseek/pyproject.toml | 2 +- 3 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 .github/scripts/test_get_min_versions.py diff --git a/.github/scripts/get_min_versions.py b/.github/scripts/get_min_versions.py index be32b940e5..ad7524c9ec 100644 --- a/.github/scripts/get_min_versions.py +++ b/.github/scripts/get_min_versions.py @@ -19,6 +19,7 @@ from packaging.version import Version, parse MIN_VERSION_LIBS = [ "langchain-core", + "langchain-openai", "langchain", "langchain-text-splitters", "numpy", @@ -31,6 +32,7 @@ MIN_VERSION_LIBS = [ # multiple libs SKIP_IF_PULL_REQUEST = [ "langchain-core", + "langchain-openai", "langchain-text-splitters", "langchain", ] diff --git a/.github/scripts/test_get_min_versions.py b/.github/scripts/test_get_min_versions.py new file mode 100644 index 0000000000..d67123ee88 --- /dev/null +++ b/.github/scripts/test_get_min_versions.py @@ -0,0 +1,32 @@ +"""Regression tests for release minimum dependency selection.""" + +from pathlib import Path +from unittest.mock import patch + +import pytest +from get_min_versions import get_min_version_from_toml + + +@pytest.mark.parametrize( + ("versions_for", "expected"), + [ + ("release", {"langchain-core": "1.4.7", "langchain-openai": "1.1.0"}), + ("pull_request", {}), + ], +) +def test_openai_partner_minimum_versions( + tmp_path: Path, versions_for: str, expected: dict[str, str] +) -> None: + manifest = tmp_path / "pyproject.toml" + manifest.write_text( + '[project]\ndependencies = ["langchain-core>=1.4.7,<2.0.0", ' + '"langchain-openai>=1.1.0,<2.0.0"]\n' + ) + versions = { + "langchain-core": ["1.6.4", "1.4.7", "1.1.0"], + "langchain-openai": ["1.6.3", "1.1.0", "1.0.0"], + } + with patch("get_min_versions.get_pypi_versions", side_effect=versions.__getitem__): + assert ( + get_min_version_from_toml(str(manifest), versions_for, "3.11") == expected + ) diff --git a/libs/partners/deepseek/pyproject.toml b/libs/partners/deepseek/pyproject.toml index 1dd0484b5f..12d2369f03 100644 --- a/libs/partners/deepseek/pyproject.toml +++ b/libs/partners/deepseek/pyproject.toml @@ -24,7 +24,7 @@ version = "1.1.1" requires-python = ">=3.10.0,<4.0.0" dependencies = [ "langchain-core>=1.4.7,<2.0.0", - "langchain-openai>=1.1.0,<2.0.0", + "langchain-openai>=1.3.1,<2.0.0", ] [project.urls]