Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-langchain-anthropic for
openSUSE:Factory checked in at 2026-08-20 16:15:27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-langchain-anthropic (Old)
and /work/SRC/openSUSE:Factory/.python-langchain-anthropic.new.1258 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-langchain-anthropic"
Thu Aug 20 16:15:27 2026 rev:9 rq:1372140 version:1.6.0
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-langchain-anthropic/python-langchain-anthropic.changes
2026-08-18 16:38:04.476347889 +0200
+++
/work/SRC/openSUSE:Factory/.python-langchain-anthropic.new.1258/python-langchain-anthropic.changes
2026-08-20 16:15:36.785923588 +0200
@@ -1,0 +2,11 @@
+Thu Aug 20 05:52:44 UTC 2026 - Martin Pluskal <[email protected]>
+
+- Update to 1.6.0:
+ * Map Anthropic SDK failures onto the new standard model
+ exception types from langchain-core 1.6.0
+ * Restrict file-search grep to the requested path so sibling
+ directories that only share a name prefix are no longer scanned
+- Follow upstream and raise the langchain-core requirement floor
+ to 1.6.0
+
+-------------------------------------------------------------------
Old:
----
langchain_anthropic-1.5.6.tar.gz
New:
----
langchain_anthropic-1.6.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-langchain-anthropic.spec ++++++
--- /var/tmp/diff_new_pack.WuoKlz/_old 2026-08-20 16:15:38.517984865 +0200
+++ /var/tmp/diff_new_pack.WuoKlz/_new 2026-08-20 16:15:38.518984900 +0200
@@ -18,7 +18,7 @@
%{?sle15_python_module_pythons}
Name: python-langchain-anthropic
-Version: 1.5.6
+Version: 1.6.0
Release: 0
Summary: Integration package connecting Claude (Anthropic) APIs and
LangChain
License: MIT
@@ -29,7 +29,7 @@
BuildRequires: fdupes
BuildRequires: python-rpm-macros
Requires: python-anthropic >= 0.120.0
-Requires: python-langchain-core >= 1.5.4
+Requires: python-langchain-core >= 1.6.0
Requires: python-pydantic >= 2.7.4
BuildArch: noarch
# SECTION test requirements
@@ -37,7 +37,7 @@
BuildRequires: %{python_module blockbuster}
BuildRequires: %{python_module defusedxml}
BuildRequires: %{python_module freezegun}
-BuildRequires: %{python_module langchain-core >= 1.5.4}
+BuildRequires: %{python_module langchain-core >= 1.6.0}
BuildRequires: %{python_module pydantic >= 2.7.4}
BuildRequires: %{python_module pytest-asyncio}
BuildRequires: %{python_module pytest-mock}
++++++ langchain_anthropic-1.5.6.tar.gz -> langchain_anthropic-1.6.0.tar.gz
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/langchain_anthropic-1.5.6/PKG-INFO
new/langchain_anthropic-1.6.0/PKG-INFO
--- old/langchain_anthropic-1.5.6/PKG-INFO 2020-02-02 01:00:00.000000000
+0100
+++ new/langchain_anthropic-1.6.0/PKG-INFO 2020-02-02 01:00:00.000000000
+0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.5
Name: langchain-anthropic
-Version: 1.5.6
+Version: 1.6.0
Summary: Integration package connecting Claude (Anthropic) APIs and LangChain
Project-URL: Homepage,
https://docs.langchain.com/oss/python/integrations/providers/anthropic
Project-URL: Documentation,
https://reference.langchain.com/python/integrations/langchain_anthropic/
@@ -24,7 +24,7 @@
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: <4.0.0,>=3.10.0
Requires-Dist: anthropic<1.0.0,>=0.120.0
-Requires-Dist: langchain-core<2.0.0,>=1.5.4
+Requires-Dist: langchain-core<2.0.0,>=1.6.0
Requires-Dist: pydantic<3.0.0,>=2.7.4
Description-Content-Type: text/markdown
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/langchain_anthropic-1.5.6/langchain_anthropic/_version.py
new/langchain_anthropic-1.6.0/langchain_anthropic/_version.py
--- old/langchain_anthropic-1.5.6/langchain_anthropic/_version.py
2020-02-02 01:00:00.000000000 +0100
+++ new/langchain_anthropic-1.6.0/langchain_anthropic/_version.py
2020-02-02 01:00:00.000000000 +0100
@@ -1,3 +1,3 @@
"""Version information for `langchain-anthropic`."""
-__version__ = "1.5.6"
+__version__ = "1.6.0"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/langchain_anthropic-1.5.6/langchain_anthropic/chat_models.py
new/langchain_anthropic-1.6.0/langchain_anthropic/chat_models.py
--- old/langchain_anthropic-1.5.6/langchain_anthropic/chat_models.py
2020-02-02 01:00:00.000000000 +0100
+++ new/langchain_anthropic-1.6.0/langchain_anthropic/chat_models.py
2020-02-02 01:00:00.000000000 +0100
@@ -18,7 +18,18 @@
AsyncCallbackManagerForLLMRun,
CallbackManagerForLLMRun,
)
-from langchain_core.exceptions import ContextOverflowError,
OutputParserException
+from langchain_core.exceptions import (
+ ContextOverflowError,
+ ModelAPIError,
+ ModelAuthenticationError,
+ ModelConnectionError,
+ ModelInvalidRequestError,
+ ModelNotFoundError,
+ ModelPermissionDeniedError,
+ ModelRateLimitError,
+ ModelTimeoutError,
+ OutputParserException,
+)
from langchain_core.language_models import (
LanguageModelInput,
ModelProfile,
@@ -910,6 +921,46 @@
"""BadRequestError raised when input exceeds Anthropic's context limit."""
+class AnthropicAuthenticationError(
+ anthropic.AuthenticationError, ModelAuthenticationError
+):
+ """Anthropic authentication error classified as a LangChain model error."""
+
+
+class AnthropicPermissionDeniedError(
+ anthropic.PermissionDeniedError, ModelPermissionDeniedError
+):
+ """Anthropic permission error classified as a LangChain model error."""
+
+
+class AnthropicInvalidRequestError(anthropic.BadRequestError,
ModelInvalidRequestError):
+ """Anthropic bad-request error classified as a LangChain model error."""
+
+
+class AnthropicModelNotFoundError(anthropic.NotFoundError, ModelNotFoundError):
+ """Anthropic not-found error classified as a LangChain model error."""
+
+
+class AnthropicRateLimitError(anthropic.RateLimitError, ModelRateLimitError):
+ """Anthropic rate-limit error classified as a LangChain model error."""
+
+
+class AnthropicAPIError(anthropic.InternalServerError, ModelAPIError):
+ """Anthropic server error classified as a LangChain model error."""
+
+
+class AnthropicOverloadedError(anthropic.OverloadedError, ModelAPIError):
+ """Anthropic overloaded error (HTTP 529) classified as a LangChain model
error."""
+
+
+class AnthropicConnectionError(anthropic.APIConnectionError,
ModelConnectionError):
+ """Anthropic connection error classified as a LangChain model error."""
+
+
+class AnthropicTimeoutError(anthropic.APITimeoutError, ModelTimeoutError):
+ """Anthropic timeout error classified as a LangChain model error."""
+
+
def _raise_if_authentication_error(e: TypeError) -> None:
"""Re-raise anthropic SDK's missing-credentials `TypeError` with
guidance."""
if "Could not resolve authentication method" in str(e):
@@ -933,7 +984,42 @@
if ("messages: at least one message is required") in e.message:
message = "Received only system message(s). "
warnings.warn(message, stacklevel=2)
- raise e
+ raise AnthropicInvalidRequestError(
+ message=e.message, response=e.response, body=e.body
+ ) from e
+
+
+def _handle_anthropic_api_error(e: anthropic.APIError) -> None:
+ """Re-raise an Anthropic SDK error as its LangChain-classified
equivalent."""
+ if isinstance(e, anthropic.AuthenticationError):
+ raise AnthropicAuthenticationError(
+ message=e.message, response=e.response, body=e.body
+ ) from e
+ if isinstance(e, anthropic.PermissionDeniedError):
+ raise AnthropicPermissionDeniedError(
+ message=e.message, response=e.response, body=e.body
+ ) from e
+ if isinstance(e, anthropic.NotFoundError):
+ raise AnthropicModelNotFoundError(
+ message=e.message, response=e.response, body=e.body
+ ) from e
+ if isinstance(e, anthropic.RateLimitError):
+ raise AnthropicRateLimitError(
+ message=e.message, response=e.response, body=e.body
+ ) from e
+ if isinstance(e, anthropic.OverloadedError):
+ raise AnthropicOverloadedError(
+ message=e.message, response=e.response, body=e.body
+ ) from e
+ if isinstance(e, anthropic.InternalServerError):
+ raise AnthropicAPIError(
+ message=e.message, response=e.response, body=e.body
+ ) from e
+ # `APITimeoutError` subclasses `APIConnectionError`, so check it first.
+ if isinstance(e, anthropic.APITimeoutError):
+ raise AnthropicTimeoutError(e.request) from e
+ if isinstance(e, anthropic.APIConnectionError):
+ raise AnthropicConnectionError(message=e.message, request=e.request)
from e
raise
@@ -1681,6 +1767,8 @@
yield chunk
except anthropic.BadRequestError as e:
_handle_anthropic_bad_request(e)
+ except anthropic.APIError as e:
+ _handle_anthropic_api_error(e)
async def _astream(
self,
@@ -1718,6 +1806,8 @@
yield chunk
except anthropic.BadRequestError as e:
_handle_anthropic_bad_request(e)
+ except anthropic.APIError as e:
+ _handle_anthropic_api_error(e)
def _make_message_chunk_from_anthropic_event(
self,
@@ -2011,6 +2101,8 @@
data = self._create(payload)
except anthropic.BadRequestError as e:
_handle_anthropic_bad_request(e)
+ except anthropic.APIError as e:
+ _handle_anthropic_api_error(e)
return self._format_output(data, **kwargs)
async def _agenerate(
@@ -2025,6 +2117,8 @@
data = await self._acreate(payload)
except anthropic.BadRequestError as e:
_handle_anthropic_bad_request(e)
+ except anthropic.APIError as e:
+ _handle_anthropic_api_error(e)
return self._format_output(data, **kwargs)
def _get_llm_for_structured_output_when_thinking_is_enabled(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/langchain_anthropic-1.5.6/langchain_anthropic/middleware/file_search.py
new/langchain_anthropic-1.6.0/langchain_anthropic/middleware/file_search.py
--- old/langchain_anthropic-1.5.6/langchain_anthropic/middleware/file_search.py
2020-02-02 01:00:00.000000000 +0100
+++ new/langchain_anthropic-1.6.0/langchain_anthropic/middleware/file_search.py
2020-02-02 01:00:00.000000000 +0100
@@ -299,7 +299,11 @@
results: dict[str, list[tuple[int, str]]] = {}
for file_path, file_data in files.items():
- if not file_path.startswith(base_path):
+ if (
+ base_path != "/" # noqa: PLR1714
+ and file_path != base_path
+ and not file_path.startswith(base_path + "/")
+ ):
continue
# Check include filter
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/langchain_anthropic-1.5.6/pyproject.toml
new/langchain_anthropic-1.6.0/pyproject.toml
--- old/langchain_anthropic-1.5.6/pyproject.toml 2020-02-02
01:00:00.000000000 +0100
+++ new/langchain_anthropic-1.6.0/pyproject.toml 2020-02-02
01:00:00.000000000 +0100
@@ -20,11 +20,11 @@
"Topic :: Scientific/Engineering :: Artificial Intelligence",
]
-version = "1.5.6"
+version = "1.6.0"
requires-python = ">=3.10.0,<4.0.0"
dependencies = [
"anthropic>=0.120.0,<1.0.0",
- "langchain-core>=1.5.4,<2.0.0",
+ "langchain-core>=1.6.0,<2.0.0",
"pydantic>=2.7.4,<3.0.0",
]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/langchain_anthropic-1.5.6/tests/conftest.py
new/langchain_anthropic-1.6.0/tests/conftest.py
--- old/langchain_anthropic-1.5.6/tests/conftest.py 2020-02-02
01:00:00.000000000 +0100
+++ new/langchain_anthropic-1.6.0/tests/conftest.py 2020-02-02
01:00:00.000000000 +0100
@@ -8,6 +8,10 @@
def remove_request_headers(request: Any) -> Any:
for k in request.headers:
request.headers[k] = "**REDACTED**"
+ # Redact the URI so cassettes stay host-agnostic (e.g. direct API vs. the
+ # LangSmith gateway). Matching drops the `uri` matcher below, so this only
+ # affects what newly recorded cassettes persist.
+ request.uri = "**REDACTED**"
return request
@@ -21,6 +25,9 @@
def vcr_config() -> dict:
"""Extend the default configuration coming from langchain_tests."""
config = base_vcr_config()
+ # Match on method + body only. Dropping `uri` keeps cassettes host-agnostic
+ # so they replay whether requests go to the API directly or via the
gateway.
+ config["match_on"] = [m for m in config.get("match_on", []) if m != "uri"]
config["before_record_request"] = remove_request_headers
config["before_record_response"] = remove_response_headers
config["serializer"] = "yaml.gz"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/langchain_anthropic-1.5.6/tests/integration_tests/test_chat_models.py
new/langchain_anthropic-1.6.0/tests/integration_tests/test_chat_models.py
--- old/langchain_anthropic-1.5.6/tests/integration_tests/test_chat_models.py
2020-02-02 01:00:00.000000000 +0100
+++ new/langchain_anthropic-1.6.0/tests/integration_tests/test_chat_models.py
2020-02-02 01:00:00.000000000 +0100
@@ -1268,7 +1268,9 @@
# Structured output currently relies on forced tool use, which is not
supported
# when `thinking` is enabled. When this test fails, it means that the
feature
# is supported and the workarounds in `with_structured_output` should be
removed.
- client = anthropic.Anthropic()
+ # Use the client resolved off `ChatAnthropic` so requests honor any
+ # configured base URL / credentials (e.g. the LangSmith gateway).
+ client = ChatAnthropic(model="claude-sonnet-4-5-20250929")._client #
type: ignore[call-arg]
with pytest.raises(anthropic.BadRequestError):
_ = client.messages.create(
model="claude-sonnet-4-5-20250929",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/langchain_anthropic-1.5.6/tests/integration_tests/test_llms.py
new/langchain_anthropic-1.6.0/tests/integration_tests/test_llms.py
--- old/langchain_anthropic-1.5.6/tests/integration_tests/test_llms.py
2020-02-02 01:00:00.000000000 +0100
+++ new/langchain_anthropic-1.6.0/tests/integration_tests/test_llms.py
2020-02-02 01:00:00.000000000 +0100
@@ -1,5 +1,6 @@
"""Test Anthropic API wrapper."""
+import os
from collections.abc import Generator
import pytest
@@ -11,6 +12,21 @@
MODEL = "claude-sonnet-4-5-20250929"
+# The deprecated `AnthropicLLM` class has no LangSmith gateway support, so it
+# cannot authenticate when requests are routed through the gateway. Skip the
+# network-calling tests in that case; they still run against a direct
+# `ANTHROPIC_API_KEY`. Mirrors the gateway truthiness in `langchain_core`.
+_GATEWAY_ENABLED = (os.getenv("LANGSMITH_GATEWAY") or "").lower() not in (
+ "",
+ "false",
+ "0",
+ "no",
+)
+_skip_under_gateway = pytest.mark.skipif(
+ _GATEWAY_ENABLED,
+ reason="AnthropicLLM is deprecated and not compatible with the LangSmith
gateway",
+)
+
@pytest.mark.requires("anthropic")
def test_anthropic_model_name_param() -> None:
@@ -24,6 +40,7 @@
assert llm.model == "foo"
+@_skip_under_gateway
def test_anthropic_call() -> None:
"""Test valid call to anthropic."""
llm = AnthropicLLM(model=MODEL) # type: ignore[call-arg]
@@ -31,6 +48,7 @@
assert isinstance(output, str)
+@_skip_under_gateway
def test_anthropic_streaming() -> None:
"""Test streaming tokens from anthropic."""
llm = AnthropicLLM(model=MODEL) # type: ignore[call-arg]
@@ -42,6 +60,7 @@
assert isinstance(token, str)
+@_skip_under_gateway
def test_anthropic_streaming_callback() -> None:
"""Test that streaming correctly invokes on_llm_new_token callback."""
callback_handler = FakeCallbackHandler()
@@ -56,6 +75,7 @@
assert callback_handler.llm_streams > 1
+@_skip_under_gateway
async def test_anthropic_async_generate() -> None:
"""Test async generate."""
llm = AnthropicLLM(model=MODEL) # type: ignore[call-arg]
@@ -63,6 +83,7 @@
assert isinstance(output, LLMResult)
+@_skip_under_gateway
async def test_anthropic_async_streaming_callback() -> None:
"""Test that streaming correctly invokes on_llm_new_token callback."""
callback_handler = FakeCallbackHandler()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/langchain_anthropic-1.5.6/tests/unit_tests/middleware/test_file_search.py
new/langchain_anthropic-1.6.0/tests/unit_tests/middleware/test_file_search.py
---
old/langchain_anthropic-1.5.6/tests/unit_tests/middleware/test_file_search.py
2020-02-02 01:00:00.000000000 +0100
+++
new/langchain_anthropic-1.6.0/tests/unit_tests/middleware/test_file_search.py
2020-02-02 01:00:00.000000000 +0100
@@ -400,6 +400,38 @@
assert "/src/main.py" in result
assert "/tests/test.py" not in result
+ def test_grep_excludes_sibling_directory(self) -> None:
+ """Test grep scoped to a path excludes sibling directories sharing a
prefix."""
+ middleware = StateFileSearchMiddleware()
+
+ state: AnthropicToolsState = {
+ "messages": [],
+ "text_editor_files": {
+ "/app/config.txt": {
+ "content": ["service=web"],
+ "created_at": "2025-01-01T00:00:00",
+ "modified_at": "2025-01-01T00:00:00",
+ },
+ "/app-secret/creds.txt": {
+ "content": ["password=SIBLING-LEAK"],
+ "created_at": "2025-01-01T00:00:00",
+ "modified_at": "2025-01-01T00:00:00",
+ },
+ },
+ }
+
+ result = middleware._handle_grep_search(
+ pattern="password|service",
+ path="/app",
+ include=None,
+ output_mode="files_with_matches",
+ state=state,
+ )
+
+ assert isinstance(result, str)
+ assert "/app/config.txt" in result
+ assert "/app-secret/creds.txt" not in result
+
def test_grep_no_matches(self) -> None:
"""Test grep with no matching content."""
middleware = StateFileSearchMiddleware()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/langchain_anthropic-1.5.6/tests/unit_tests/test_chat_models.py
new/langchain_anthropic-1.6.0/tests/unit_tests/test_chat_models.py
--- old/langchain_anthropic-1.5.6/tests/unit_tests/test_chat_models.py
2020-02-02 01:00:00.000000000 +0100
+++ new/langchain_anthropic-1.6.0/tests/unit_tests/test_chat_models.py
2020-02-02 01:00:00.000000000 +0100
@@ -11,10 +11,22 @@
from unittest.mock import MagicMock, patch
import anthropic
+import httpx
import pytest
from anthropic.types import Message, TextBlock, Usage
from blockbuster import blockbuster_ctx
-from langchain_core.exceptions import ContextOverflowError
+from langchain_core.exceptions import (
+ ContextOverflowError,
+ ModelAPIError,
+ ModelAuthenticationError,
+ ModelConnectionError,
+ ModelError,
+ ModelInvalidRequestError,
+ ModelNotFoundError,
+ ModelPermissionDeniedError,
+ ModelRateLimitError,
+ ModelTimeoutError,
+)
from langchain_core.messages import (
AIMessage,
AIMessageChunk,
@@ -4042,6 +4054,64 @@
)
[email protected](
+ ("status_code", "sdk_error_type", "model_error_type", "is_retryable"),
+ [
+ (400, anthropic.BadRequestError, ModelInvalidRequestError, False),
+ (401, anthropic.AuthenticationError, ModelAuthenticationError, False),
+ (403, anthropic.PermissionDeniedError, ModelPermissionDeniedError,
False),
+ (404, anthropic.NotFoundError, ModelNotFoundError, False),
+ (429, anthropic.RateLimitError, ModelRateLimitError, True),
+ (500, anthropic.InternalServerError, ModelAPIError, True),
+ (529, anthropic.OverloadedError, ModelAPIError, True),
+ ],
+)
+def test_anthropic_error_classification(
+ status_code: int,
+ sdk_error_type: type[anthropic.APIStatusError],
+ model_error_type: type[ModelError],
+ *,
+ is_retryable: bool,
+) -> None:
+ """Provider errors are raised as both the SDK type and the LangChain
type."""
+ llm = ChatAnthropic(model=MODEL_NAME)
+ sdk_error = sdk_error_type(
+ "model request failed",
+ response=MagicMock(status_code=status_code),
+ body=None,
+ )
+
+ with ( # noqa: PT012
+ patch.object(llm._client.messages, "create") as mock_create,
+ pytest.raises(sdk_error_type) as exc_info,
+ ):
+ mock_create.side_effect = sdk_error
+ llm.invoke([HumanMessage(content="test")])
+
+ assert isinstance(exc_info.value, model_error_type)
+ assert exc_info.value.is_retryable is is_retryable
+
+
+def test_anthropic_transport_error_classification() -> None:
+ """Timeout and connection failures are classified without a status code."""
+ llm = ChatAnthropic(model=MODEL_NAME)
+ request = httpx.Request("POST", "https://api.anthropic.com/v1/messages")
+
+ for sdk_error, model_error_type in (
+ (anthropic.APITimeoutError(request), ModelTimeoutError),
+ (anthropic.APIConnectionError(request=request), ModelConnectionError),
+ ):
+ with ( # noqa: PT012
+ patch.object(llm._client.messages, "create") as mock_create,
+ pytest.raises(type(sdk_error)) as exc_info,
+ ):
+ mock_create.side_effect = sdk_error
+ llm.invoke([HumanMessage(content="test")])
+
+ assert isinstance(exc_info.value, model_error_type)
+ assert exc_info.value.is_retryable is True
+
+
def test_context_overflow_error_invoke_sync() -> None:
"""Test context overflow error on invoke (sync)."""
llm = ChatAnthropic(model=MODEL_NAME)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/langchain_anthropic-1.5.6/uv.lock
new/langchain_anthropic-1.6.0/uv.lock
--- old/langchain_anthropic-1.5.6/uv.lock 2020-02-02 01:00:00.000000000
+0100
+++ new/langchain_anthropic-1.6.0/uv.lock 2020-02-02 01:00:00.000000000
+0100
@@ -617,7 +617,7 @@
[[package]]
name = "langchain-anthropic"
-version = "1.5.6"
+version = "1.6.0"
source = { editable = "." }
dependencies = [
{ name = "anthropic" },
@@ -690,9 +690,10 @@
[[package]]
name = "langchain-core"
-version = "1.5.4"
+version = "1.6.0"
source = { editable = "../../core" }
dependencies = [
+ { name = "httpx" },
{ name = "jsonpatch" },
{ name = "langchain-protocol" },
{ name = "langsmith" },
@@ -706,6 +707,7 @@
[package.metadata]
requires-dist = [
+ { name = "httpx", specifier = ">=0.23.0,<1.0.0" },
{ name = "jsonpatch", specifier = ">=1.33.0,<2.0.0" },
{ name = "langchain-protocol", specifier = ">=0.0.17" },
{ name = "langsmith", specifier = ">=0.3.45,<1.0.0" },