langchain-dev-utils 1.2.16__tar.gz → 1.3.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {langchain_dev_utils-1.2.16 → langchain_dev_utils-1.3.0}/PKG-INFO +2 -2
- {langchain_dev_utils-1.2.16 → langchain_dev_utils-1.3.0}/pyproject.toml +2 -5
- {langchain_dev_utils-1.2.16 → langchain_dev_utils-1.3.0}/src/langchain_dev_utils/agents/middleware/model_fallback.py +2 -2
- {langchain_dev_utils-1.2.16 → langchain_dev_utils-1.3.0}/src/langchain_dev_utils/chat_models/adapters/openai_compatible.py +3 -4
- {langchain_dev_utils-1.2.16 → langchain_dev_utils-1.3.0}/uv.lock +8 -8
- {langchain_dev_utils-1.2.16 → langchain_dev_utils-1.3.0}/.gitignore +0 -0
- {langchain_dev_utils-1.2.16 → langchain_dev_utils-1.3.0}/.python-version +0 -0
- {langchain_dev_utils-1.2.16 → langchain_dev_utils-1.3.0}/.vscode/settings.json +0 -0
- {langchain_dev_utils-1.2.16 → langchain_dev_utils-1.3.0}/LICENSE +0 -0
- {langchain_dev_utils-1.2.16 → langchain_dev_utils-1.3.0}/README.md +0 -0
- {langchain_dev_utils-1.2.16 → langchain_dev_utils-1.3.0}/README_cn.md +0 -0
- {langchain_dev_utils-1.2.16 → langchain_dev_utils-1.3.0}/src/langchain_dev_utils/__init__.py +0 -0
- {langchain_dev_utils-1.2.16 → langchain_dev_utils-1.3.0}/src/langchain_dev_utils/_utils.py +0 -0
- {langchain_dev_utils-1.2.16 → langchain_dev_utils-1.3.0}/src/langchain_dev_utils/agents/__init__.py +0 -0
- {langchain_dev_utils-1.2.16 → langchain_dev_utils-1.3.0}/src/langchain_dev_utils/agents/factory.py +0 -0
- {langchain_dev_utils-1.2.16 → langchain_dev_utils-1.3.0}/src/langchain_dev_utils/agents/file_system.py +0 -0
- {langchain_dev_utils-1.2.16 → langchain_dev_utils-1.3.0}/src/langchain_dev_utils/agents/middleware/__init__.py +0 -0
- {langchain_dev_utils-1.2.16 → langchain_dev_utils-1.3.0}/src/langchain_dev_utils/agents/middleware/format_prompt.py +0 -0
- {langchain_dev_utils-1.2.16 → langchain_dev_utils-1.3.0}/src/langchain_dev_utils/agents/middleware/model_router.py +0 -0
- {langchain_dev_utils-1.2.16 → langchain_dev_utils-1.3.0}/src/langchain_dev_utils/agents/middleware/plan.py +0 -0
- {langchain_dev_utils-1.2.16 → langchain_dev_utils-1.3.0}/src/langchain_dev_utils/agents/middleware/summarization.py +0 -0
- {langchain_dev_utils-1.2.16 → langchain_dev_utils-1.3.0}/src/langchain_dev_utils/agents/middleware/tool_call_repair.py +0 -0
- {langchain_dev_utils-1.2.16 → langchain_dev_utils-1.3.0}/src/langchain_dev_utils/agents/middleware/tool_emulator.py +0 -0
- {langchain_dev_utils-1.2.16 → langchain_dev_utils-1.3.0}/src/langchain_dev_utils/agents/middleware/tool_selection.py +0 -0
- {langchain_dev_utils-1.2.16 → langchain_dev_utils-1.3.0}/src/langchain_dev_utils/agents/plan.py +0 -0
- {langchain_dev_utils-1.2.16 → langchain_dev_utils-1.3.0}/src/langchain_dev_utils/agents/wrap.py +0 -0
- {langchain_dev_utils-1.2.16 → langchain_dev_utils-1.3.0}/src/langchain_dev_utils/chat_models/__init__.py +0 -0
- {langchain_dev_utils-1.2.16 → langchain_dev_utils-1.3.0}/src/langchain_dev_utils/chat_models/adapters/__init__.py +0 -0
- {langchain_dev_utils-1.2.16 → langchain_dev_utils-1.3.0}/src/langchain_dev_utils/chat_models/base.py +0 -0
- {langchain_dev_utils-1.2.16 → langchain_dev_utils-1.3.0}/src/langchain_dev_utils/chat_models/types.py +0 -0
- {langchain_dev_utils-1.2.16 → langchain_dev_utils-1.3.0}/src/langchain_dev_utils/embeddings/__init__.py +0 -0
- {langchain_dev_utils-1.2.16 → langchain_dev_utils-1.3.0}/src/langchain_dev_utils/embeddings/base.py +0 -0
- {langchain_dev_utils-1.2.16 → langchain_dev_utils-1.3.0}/src/langchain_dev_utils/message_convert/__init__.py +0 -0
- {langchain_dev_utils-1.2.16 → langchain_dev_utils-1.3.0}/src/langchain_dev_utils/message_convert/content.py +0 -0
- {langchain_dev_utils-1.2.16 → langchain_dev_utils-1.3.0}/src/langchain_dev_utils/message_convert/format.py +0 -0
- {langchain_dev_utils-1.2.16 → langchain_dev_utils-1.3.0}/src/langchain_dev_utils/pipeline/__init__.py +0 -0
- {langchain_dev_utils-1.2.16 → langchain_dev_utils-1.3.0}/src/langchain_dev_utils/pipeline/parallel.py +0 -0
- {langchain_dev_utils-1.2.16 → langchain_dev_utils-1.3.0}/src/langchain_dev_utils/pipeline/sequential.py +0 -0
- {langchain_dev_utils-1.2.16 → langchain_dev_utils-1.3.0}/src/langchain_dev_utils/pipeline/types.py +0 -0
- {langchain_dev_utils-1.2.16 → langchain_dev_utils-1.3.0}/src/langchain_dev_utils/py.typed +0 -0
- {langchain_dev_utils-1.2.16 → langchain_dev_utils-1.3.0}/src/langchain_dev_utils/tool_calling/__init__.py +0 -0
- {langchain_dev_utils-1.2.16 → langchain_dev_utils-1.3.0}/src/langchain_dev_utils/tool_calling/human_in_the_loop.py +0 -0
- {langchain_dev_utils-1.2.16 → langchain_dev_utils-1.3.0}/src/langchain_dev_utils/tool_calling/utils.py +0 -0
- {langchain_dev_utils-1.2.16 → langchain_dev_utils-1.3.0}/tests/__init__.py +0 -0
- {langchain_dev_utils-1.2.16 → langchain_dev_utils-1.3.0}/tests/test_agent.py +0 -0
- {langchain_dev_utils-1.2.16 → langchain_dev_utils-1.3.0}/tests/test_chat_models.py +0 -0
- {langchain_dev_utils-1.2.16 → langchain_dev_utils-1.3.0}/tests/test_human_in_the_loop.py +0 -0
- {langchain_dev_utils-1.2.16 → langchain_dev_utils-1.3.0}/tests/test_load_embbeding.py +0 -0
- {langchain_dev_utils-1.2.16 → langchain_dev_utils-1.3.0}/tests/test_load_model.py +0 -0
- {langchain_dev_utils-1.2.16 → langchain_dev_utils-1.3.0}/tests/test_messages.py +0 -0
- {langchain_dev_utils-1.2.16 → langchain_dev_utils-1.3.0}/tests/test_model_tool_emulator.py +0 -0
- {langchain_dev_utils-1.2.16 → langchain_dev_utils-1.3.0}/tests/test_pipline.py +0 -0
- {langchain_dev_utils-1.2.16 → langchain_dev_utils-1.3.0}/tests/test_plan_middleware.py +0 -0
- {langchain_dev_utils-1.2.16 → langchain_dev_utils-1.3.0}/tests/test_router_model.py +0 -0
- {langchain_dev_utils-1.2.16 → langchain_dev_utils-1.3.0}/tests/test_tool_call_repair.py +0 -0
- {langchain_dev_utils-1.2.16 → langchain_dev_utils-1.3.0}/tests/test_tool_calling.py +0 -0
- {langchain_dev_utils-1.2.16 → langchain_dev_utils-1.3.0}/tests/test_wrap_agent.py +0 -0
- {langchain_dev_utils-1.2.16 → langchain_dev_utils-1.3.0}/tests/utils/__init__.py +0 -0
- {langchain_dev_utils-1.2.16 → langchain_dev_utils-1.3.0}/tests/utils/register.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: langchain-dev-utils
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.3.0
|
|
4
4
|
Summary: A practical utility library for LangChain and LangGraph development
|
|
5
5
|
Project-URL: Source Code, https://github.com/TBice123123/langchain-dev-utils
|
|
6
6
|
Project-URL: repository, https://github.com/TBice123123/langchain-dev-utils
|
|
@@ -8,7 +8,7 @@ Project-URL: documentation, https://tbice123123.github.io/langchain-dev-utils
|
|
|
8
8
|
Author-email: tiebingice <tiebingice123@outlook.com>
|
|
9
9
|
License-File: LICENSE
|
|
10
10
|
Requires-Python: >=3.11
|
|
11
|
-
Requires-Dist: langchain>=1.
|
|
11
|
+
Requires-Dist: langchain>=1.2.0
|
|
12
12
|
Requires-Dist: langgraph>=1.0.0
|
|
13
13
|
Provides-Extra: standard
|
|
14
14
|
Requires-Dist: json-repair>=0.53.1; extra == 'standard'
|
|
@@ -1,14 +1,11 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "langchain-dev-utils"
|
|
3
|
-
version = "1.
|
|
3
|
+
version = "1.3.0"
|
|
4
4
|
description = "A practical utility library for LangChain and LangGraph development"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
authors = [{ name = "tiebingice", email = "tiebingice123@outlook.com" }]
|
|
7
7
|
requires-python = ">=3.11"
|
|
8
|
-
dependencies = [
|
|
9
|
-
"langchain>=1.1.0",
|
|
10
|
-
"langgraph>=1.0.0",
|
|
11
|
-
]
|
|
8
|
+
dependencies = ["langchain>=1.2.0", "langgraph>=1.0.0"]
|
|
12
9
|
|
|
13
10
|
[project.urls]
|
|
14
11
|
"Source Code" = "https://github.com/TBice123123/langchain-dev-utils"
|
|
@@ -22,7 +22,7 @@ class ModelFallbackMiddleware(_ModelFallbackMiddleware):
|
|
|
22
22
|
|
|
23
23
|
fallback = ModelFallbackMiddleware(
|
|
24
24
|
"vllm:qwen3-8b", ## Try first on error
|
|
25
|
-
"
|
|
25
|
+
"vllm:gpt-oss-20b", #Then this
|
|
26
26
|
)
|
|
27
27
|
|
|
28
28
|
agent = create_agent(
|
|
@@ -30,7 +30,7 @@ class ModelFallbackMiddleware(_ModelFallbackMiddleware):
|
|
|
30
30
|
middleware=[fallback],
|
|
31
31
|
)
|
|
32
32
|
|
|
33
|
-
# If primary fails: tries qwen3-8b, then
|
|
33
|
+
# If primary fails: tries qwen3-8b, then gpt-oss-20b
|
|
34
34
|
result = await agent.invoke({"messages": [HumanMessage("Hello")]})
|
|
35
35
|
```
|
|
36
36
|
"""
|
|
@@ -126,13 +126,12 @@ class _BaseChatOpenAICompatible(BaseChatOpenAI):
|
|
|
126
126
|
Base template class for OpenAI-compatible chat model implementations.
|
|
127
127
|
|
|
128
128
|
This class provides a foundation for integrating various LLM providers that
|
|
129
|
-
offer OpenAI-compatible APIs
|
|
130
|
-
and many others). It enhances the base OpenAI functionality by:
|
|
129
|
+
offer OpenAI-compatible APIs. It enhances the base OpenAI functionality by:
|
|
131
130
|
|
|
132
131
|
**1. Supports output of more types of reasoning content (reasoning_content)**
|
|
133
132
|
ChatOpenAI can only output reasoning content natively supported by official
|
|
134
133
|
OpenAI models, while OpenAICompatibleChatModel can output reasoning content
|
|
135
|
-
from other model providers
|
|
134
|
+
from other model providers.
|
|
136
135
|
|
|
137
136
|
**2. Dynamically adapts to choose the most suitable structured-output method**
|
|
138
137
|
OpenAICompatibleChatModel adds method="auto" (default), which selects the best
|
|
@@ -593,7 +592,7 @@ def _create_openai_compatible_model(
|
|
|
593
592
|
configuring environment variable mappings and default base URLs specific to each provider.
|
|
594
593
|
|
|
595
594
|
Args:
|
|
596
|
-
provider: Provider identifier (e.g
|
|
595
|
+
provider: Provider identifier (e.g.`vllm`)
|
|
597
596
|
base_url: Default API base URL for the provider
|
|
598
597
|
compatibility_options: Optional configuration for the provider
|
|
599
598
|
|
|
@@ -738,16 +738,16 @@ wheels = [
|
|
|
738
738
|
|
|
739
739
|
[[package]]
|
|
740
740
|
name = "langchain"
|
|
741
|
-
version = "1.
|
|
741
|
+
version = "1.2.0"
|
|
742
742
|
source = { registry = "https://pypi.mirrors.ustc.edu.cn/simple/" }
|
|
743
743
|
dependencies = [
|
|
744
744
|
{ name = "langchain-core" },
|
|
745
745
|
{ name = "langgraph" },
|
|
746
746
|
{ name = "pydantic" },
|
|
747
747
|
]
|
|
748
|
-
sdist = { url = "https://mirrors.ustc.edu.cn/pypi/packages/
|
|
748
|
+
sdist = { url = "https://mirrors.ustc.edu.cn/pypi/packages/b1/12/3a74c22abdfddd877dfc2ee666d516f9132877fcd25eb4dd694835c59c79/langchain-1.2.0.tar.gz", hash = "sha256:a087d1e2b2969819e29a91a6d5f98302aafe31bd49ba377ecee3bf5a5dcfe14a", size = 536126, upload-time = "2025-12-15T14:51:42.24Z" }
|
|
749
749
|
wheels = [
|
|
750
|
-
{ url = "https://mirrors.ustc.edu.cn/pypi/packages/
|
|
750
|
+
{ url = "https://mirrors.ustc.edu.cn/pypi/packages/23/00/4e3fa0d90f5a5c376ccb8ca983d0f0f7287783dfac48702e18f01d24673b/langchain-1.2.0-py3-none-any.whl", hash = "sha256:82f0d17aa4fbb11560b30e1e7d4aeb75e3ad71ce09b85c90ab208b181a24ffac", size = 102828, upload-time = "2025-12-15T14:51:40.802Z" },
|
|
751
751
|
]
|
|
752
752
|
|
|
753
753
|
[[package]]
|
|
@@ -793,7 +793,7 @@ wheels = [
|
|
|
793
793
|
|
|
794
794
|
[[package]]
|
|
795
795
|
name = "langchain-core"
|
|
796
|
-
version = "1.2.
|
|
796
|
+
version = "1.2.5"
|
|
797
797
|
source = { registry = "https://pypi.mirrors.ustc.edu.cn/simple/" }
|
|
798
798
|
dependencies = [
|
|
799
799
|
{ name = "jsonpatch" },
|
|
@@ -805,9 +805,9 @@ dependencies = [
|
|
|
805
805
|
{ name = "typing-extensions" },
|
|
806
806
|
{ name = "uuid-utils" },
|
|
807
807
|
]
|
|
808
|
-
sdist = { url = "https://mirrors.ustc.edu.cn/pypi/packages/
|
|
808
|
+
sdist = { url = "https://mirrors.ustc.edu.cn/pypi/packages/c8/86/bd678d69341ae4178bc8dfa04024d63636e5d580ff03d4502c8bc2262917/langchain_core-1.2.5.tar.gz", hash = "sha256:d674f6df42f07e846859b9d3afe547cad333d6bf9763e92c88eb4f8aaedcd3cc", size = 820445, upload-time = "2025-12-22T23:45:32.041Z" }
|
|
809
809
|
wheels = [
|
|
810
|
-
{ url = "https://mirrors.ustc.edu.cn/pypi/packages/
|
|
810
|
+
{ url = "https://mirrors.ustc.edu.cn/pypi/packages/83/bd/9df897cbc98290bf71140104ee5b9777cf5291afb80333aa7da5a497339b/langchain_core-1.2.5-py3-none-any.whl", hash = "sha256:3255944ef4e21b2551facb319bfc426057a40247c0a05de5bd6f2fc021fbfa34", size = 484851, upload-time = "2025-12-22T23:45:30.525Z" },
|
|
811
811
|
]
|
|
812
812
|
|
|
813
813
|
[[package]]
|
|
@@ -825,7 +825,7 @@ wheels = [
|
|
|
825
825
|
|
|
826
826
|
[[package]]
|
|
827
827
|
name = "langchain-dev-utils"
|
|
828
|
-
version = "1.
|
|
828
|
+
version = "1.3.0"
|
|
829
829
|
source = { editable = "." }
|
|
830
830
|
dependencies = [
|
|
831
831
|
{ name = "langchain" },
|
|
@@ -859,7 +859,7 @@ tests = [
|
|
|
859
859
|
[package.metadata]
|
|
860
860
|
requires-dist = [
|
|
861
861
|
{ name = "json-repair", marker = "extra == 'standard'", specifier = ">=0.53.1" },
|
|
862
|
-
{ name = "langchain", specifier = ">=1.
|
|
862
|
+
{ name = "langchain", specifier = ">=1.2.0" },
|
|
863
863
|
{ name = "langchain-openai", marker = "extra == 'standard'" },
|
|
864
864
|
{ name = "langgraph", specifier = ">=1.0.0" },
|
|
865
865
|
]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{langchain_dev_utils-1.2.16 → langchain_dev_utils-1.3.0}/src/langchain_dev_utils/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{langchain_dev_utils-1.2.16 → langchain_dev_utils-1.3.0}/src/langchain_dev_utils/agents/__init__.py
RENAMED
|
File without changes
|
{langchain_dev_utils-1.2.16 → langchain_dev_utils-1.3.0}/src/langchain_dev_utils/agents/factory.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{langchain_dev_utils-1.2.16 → langchain_dev_utils-1.3.0}/src/langchain_dev_utils/agents/plan.py
RENAMED
|
File without changes
|
{langchain_dev_utils-1.2.16 → langchain_dev_utils-1.3.0}/src/langchain_dev_utils/agents/wrap.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{langchain_dev_utils-1.2.16 → langchain_dev_utils-1.3.0}/src/langchain_dev_utils/chat_models/base.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{langchain_dev_utils-1.2.16 → langchain_dev_utils-1.3.0}/src/langchain_dev_utils/embeddings/base.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{langchain_dev_utils-1.2.16 → langchain_dev_utils-1.3.0}/src/langchain_dev_utils/pipeline/types.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|