LLM-Bridge 2.2.3__tar.gz → 2.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.
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/PKG-INFO +2 -2
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/logic/chat_generate/chat_client_factory.py +3 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/logic/chat_generate/model_client_factory/claude_client_factory.py +3 -4
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/logic/chat_generate/model_client_factory/gemini_client_factory.py +13 -4
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/resources/model_prices.json +2 -2
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/pyproject.toml +2 -2
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/usage/.env.example +1 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/usage/keys.py +1 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/uv.lock +12 -8
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/.gitattributes +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/.github/workflows/pypi-publish.yaml +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/.github/workflows/python-test.yaml +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/.gitignore +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/.run/batch.run.xml +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/.run/pytest.run.xml +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/.run/single.run.xml +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/LICENSE +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/README.md +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/__init__.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/client/__init__.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/client/chat_client.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/client/implementations/__init__.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/client/implementations/claude/__init__.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/client/implementations/claude/claude_response_handler.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/client/implementations/claude/claude_token_counter.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/client/implementations/claude/non_stream_claude_client.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/client/implementations/claude/stream_claude_client.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/client/implementations/gemini/__init__.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/client/implementations/gemini/gemini_response_handler.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/client/implementations/gemini/gemini_token_counter.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/client/implementations/gemini/non_stream_gemini_client.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/client/implementations/gemini/stream_gemini_client.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/client/implementations/http_error.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/client/implementations/openai_completion/__init__.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/client/implementations/openai_completion/non_stream_openai_completion_client.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/client/implementations/openai_completion/stream_openai_completion_client.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/client/implementations/openai_responses/__init__.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/client/implementations/openai_responses/non_stream_openai_responses_client.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/client/implementations/openai_responses/openai_responses_response_handler.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/client/implementations/openai_responses/stream_openai_responses_client.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/client/implementations/xai/__init__.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/client/implementations/xai/non_stream_xai_client.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/client/implementations/xai/stream_xai_client.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/client/model_client/__init__.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/client/model_client/claude_client.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/client/model_client/gemini_client.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/client/model_client/openai_completion_client.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/client/model_client/openai_responses_client.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/client/model_client/xai_client.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/logic/__init__.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/logic/chat_generate/__init__.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/logic/chat_generate/chat_message_converter.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/logic/chat_generate/media_processor.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/logic/chat_generate/model_client_factory/__init__.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/logic/chat_generate/model_client_factory/openai_completion_client_factory.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/logic/chat_generate/model_client_factory/openai_responses_client_factory.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/logic/chat_generate/model_client_factory/xai_client_factory.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/logic/chat_generate/model_message_converter/__init__.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/logic/chat_generate/model_message_converter/claude_message_converter.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/logic/chat_generate/model_message_converter/gemini_message_converter.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/logic/chat_generate/model_message_converter/openai_completion_message_converter.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/logic/chat_generate/model_message_converter/openai_responses_message_converter.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/logic/chat_generate/model_message_converter/xai_message_converter.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/logic/file_fetch.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/logic/message_process/__init__.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/logic/message_process/code_file_extensions.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/logic/message_process/document_processor.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/logic/message_process/file_type_checker.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/logic/message_process/message_processor.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/logic/model_prices.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/resources/__init__.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/type/__init__.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/type/chat_response.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/type/message.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/type/model_message/__init__.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/type/model_message/claude_message.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/type/model_message/gemini_message.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/type/model_message/openai_completion_message.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/type/model_message/openai_responses_message.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/type/model_message/xai_message.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/type/serializer.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/tests/__init__.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/tests/logic/__init__.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/tests/logic/chat_generate/__init__.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/tests/logic/chat_generate/model_message_converter/__init__.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/tests/logic/chat_generate/model_message_converter/claude_message_converter_test.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/tests/logic/chat_generate/model_message_converter/gemini_message_converter_test.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/tests/logic/chat_generate/model_message_converter/message_factory.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/tests/logic/chat_generate/model_message_converter/openai_completion_message_converter_test.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/tests/logic/chat_generate/model_message_converter/openai_responses_message_converter_test.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/tests/logic/chat_generate/model_message_converter/xai_message_converter_test.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/tests/logic/message_process/__init__.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/tests/logic/message_process/file_type_checker_test.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/tests/logic/model_prices_test.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/usage/__init__.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/usage/batch/__init__.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/usage/batch/batch.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/usage/batch/config.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/usage/messages.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/usage/single/__init__.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/usage/single/config.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/usage/single/single.py +0 -0
- {llm_bridge-2.2.3 → llm_bridge-2.3.0}/usage/workflow.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: LLM-Bridge
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.3.0
|
|
4
4
|
Summary: A library that wraps multiple LLM providers into a consistent API while using each provider's native SDK internally, supporting multimodal I/O, file processing, and stream output.
|
|
5
5
|
Author-email: windsnow1025 <windsnow1025@gmail.com>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -12,7 +12,7 @@ Requires-Python: >=3.12
|
|
|
12
12
|
Requires-Dist: anthropic==0.96.0
|
|
13
13
|
Requires-Dist: docxlatex>=1.1.1
|
|
14
14
|
Requires-Dist: fastapi
|
|
15
|
-
Requires-Dist: google-genai==
|
|
15
|
+
Requires-Dist: google-genai==2.31.0
|
|
16
16
|
Requires-Dist: httpx
|
|
17
17
|
Requires-Dist: openai==3.1.0
|
|
18
18
|
Requires-Dist: openpyxl
|
|
@@ -83,6 +83,7 @@ async def create_chat_client(
|
|
|
83
83
|
return await create_gemini_client(
|
|
84
84
|
api_key=api_keys["GOOGLE_AI_STUDIO_FREE_TIER_API_KEY"],
|
|
85
85
|
vertexai=False,
|
|
86
|
+
project=None,
|
|
86
87
|
free_tier=True,
|
|
87
88
|
messages=messages,
|
|
88
89
|
model=model,
|
|
@@ -97,6 +98,7 @@ async def create_chat_client(
|
|
|
97
98
|
return await create_gemini_client(
|
|
98
99
|
api_key=api_keys["GOOGLE_AI_STUDIO_API_KEY"],
|
|
99
100
|
vertexai=False,
|
|
101
|
+
project=None,
|
|
100
102
|
free_tier=False,
|
|
101
103
|
messages=messages,
|
|
102
104
|
model=model,
|
|
@@ -111,6 +113,7 @@ async def create_chat_client(
|
|
|
111
113
|
return await create_gemini_client(
|
|
112
114
|
api_key=api_keys["VERTEX_AI_API_KEY"],
|
|
113
115
|
vertexai=True,
|
|
116
|
+
project=api_keys["VERTEX_AI_PROJECT"],
|
|
114
117
|
free_tier=False,
|
|
115
118
|
messages=messages,
|
|
116
119
|
model=model,
|
|
@@ -63,10 +63,9 @@ async def create_claude_client(
|
|
|
63
63
|
|
|
64
64
|
betas: list[AnthropicBetaParam] | Omit = omit
|
|
65
65
|
speed: Literal["standard", "fast"] | Omit = omit
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
# speed = "fast"
|
|
66
|
+
if model in ["claude-opus-5-5"]:
|
|
67
|
+
betas = ["fast-mode-2026-02-01"]
|
|
68
|
+
speed = "fast"
|
|
70
69
|
|
|
71
70
|
tools: list[BetaToolUnionParam] = []
|
|
72
71
|
if web_search:
|
|
@@ -26,6 +26,7 @@ async def contains_audio_or_video(messages: list[Message]) -> bool:
|
|
|
26
26
|
async def create_gemini_client(
|
|
27
27
|
api_key: str,
|
|
28
28
|
vertexai: bool,
|
|
29
|
+
project: str | None,
|
|
29
30
|
free_tier: bool,
|
|
30
31
|
messages: list[Message],
|
|
31
32
|
model: str,
|
|
@@ -36,10 +37,18 @@ async def create_gemini_client(
|
|
|
36
37
|
code_execution: bool,
|
|
37
38
|
structured_output_schema: dict[str, Any] | None,
|
|
38
39
|
) -> StreamGeminiClient | NonStreamGeminiClient:
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
40
|
+
if vertexai:
|
|
41
|
+
client = genai.Client(
|
|
42
|
+
vertexai=True,
|
|
43
|
+
api_key=api_key,
|
|
44
|
+
project=project,
|
|
45
|
+
location="global",
|
|
46
|
+
)
|
|
47
|
+
else:
|
|
48
|
+
client = genai.Client(
|
|
49
|
+
vertexai=False,
|
|
50
|
+
api_key=api_key,
|
|
51
|
+
)
|
|
43
52
|
|
|
44
53
|
system_instruction = await extract_system_messages(messages) or " "
|
|
45
54
|
tools = []
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
},
|
|
14
14
|
{
|
|
15
15
|
"apiType": "Google AI Studio",
|
|
16
|
-
"model": "gemini-omni-flash
|
|
16
|
+
"model": "gemini-omni-1.1-flash",
|
|
17
17
|
"input": 1.5,
|
|
18
18
|
"output": 17.5
|
|
19
19
|
},
|
|
@@ -157,7 +157,7 @@
|
|
|
157
157
|
},
|
|
158
158
|
{
|
|
159
159
|
"apiType": "Vertex AI",
|
|
160
|
-
"model": "gemini-omni-flash-preview",
|
|
160
|
+
"model": "gemini-omni-1.1-flash-preview",
|
|
161
161
|
"input": 1.5,
|
|
162
162
|
"output": 17.5
|
|
163
163
|
},
|
|
@@ -4,13 +4,13 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "LLM-Bridge"
|
|
7
|
-
version = "2.
|
|
7
|
+
version = "2.3.0"
|
|
8
8
|
dependencies = [
|
|
9
9
|
"fastapi",
|
|
10
10
|
"httpx",
|
|
11
11
|
"tenacity",
|
|
12
12
|
"openai==3.1.0",
|
|
13
|
-
"google-genai==
|
|
13
|
+
"google-genai==2.31.0", # google.genai
|
|
14
14
|
"anthropic==0.96.0",
|
|
15
15
|
"xai-sdk==1.18.0",
|
|
16
16
|
"docxlatex>=1.1.1",
|
|
@@ -12,6 +12,7 @@ api_keys = {
|
|
|
12
12
|
"GOOGLE_AI_STUDIO_FREE_TIER_API_KEY": os.environ.get("GOOGLE_AI_STUDIO_FREE_TIER_API_KEY"),
|
|
13
13
|
"GOOGLE_AI_STUDIO_API_KEY": os.environ.get("GOOGLE_AI_STUDIO_API_KEY"),
|
|
14
14
|
"VERTEX_AI_API_KEY": os.environ.get("VERTEX_AI_API_KEY"),
|
|
15
|
+
"VERTEX_AI_PROJECT": os.environ.get("VERTEX_AI_PROJECT"),
|
|
15
16
|
"ANTHROPIC_API_KEY": os.environ.get("ANTHROPIC_API_KEY"),
|
|
16
17
|
"XAI_API_KEY": os.environ.get("XAI_API_KEY"),
|
|
17
18
|
}
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
version = 1
|
|
2
2
|
revision = 3
|
|
3
3
|
requires-python = ">=3.12"
|
|
4
|
+
resolution-markers = [
|
|
5
|
+
"python_full_version >= '3.14'",
|
|
6
|
+
"python_full_version < '3.14'",
|
|
7
|
+
]
|
|
4
8
|
|
|
5
9
|
[[package]]
|
|
6
10
|
name = "aiohappyeyeballs"
|
|
@@ -524,15 +528,15 @@ wheels = [
|
|
|
524
528
|
|
|
525
529
|
[[package]]
|
|
526
530
|
name = "google-auth"
|
|
527
|
-
version = "2.
|
|
531
|
+
version = "2.62.0"
|
|
528
532
|
source = { registry = "https://pypi.org/simple" }
|
|
529
533
|
dependencies = [
|
|
530
534
|
{ name = "cryptography" },
|
|
531
535
|
{ name = "pyasn1-modules" },
|
|
532
536
|
]
|
|
533
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
537
|
+
sdist = { url = "https://files.pythonhosted.org/packages/f5/b9/4b2528f30114b106e3c3a7298ba38d85e682fd1f83fe7c4a5b77c7677082/google_auth-2.62.0.tar.gz", hash = "sha256:0bef0ce54bdf9ce226c5d66e4264413bd918141c31bbe49fb52eac882f513d69", size = 398180, upload-time = "2026-10-12T19:20:48.328Z" }
|
|
534
538
|
wheels = [
|
|
535
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
539
|
+
{ url = "https://files.pythonhosted.org/packages/eb/a3/87fe9b7203ec2e56ea6a57c75e6d632eaf9487c7f7978cdad1d801bee0af/google_auth-2.62.0-py3-none-any.whl", hash = "sha256:4ff4319aeb4ad128409759d397a9fcafad126d0031d241cc0dd6b9a00b43e3f3", size = 267911, upload-time = "2026-10-12T19:20:46.355Z" },
|
|
536
540
|
]
|
|
537
541
|
|
|
538
542
|
[package.optional-dependencies]
|
|
@@ -542,7 +546,7 @@ requests = [
|
|
|
542
546
|
|
|
543
547
|
[[package]]
|
|
544
548
|
name = "google-genai"
|
|
545
|
-
version = "
|
|
549
|
+
version = "2.31.0"
|
|
546
550
|
source = { registry = "https://pypi.org/simple" }
|
|
547
551
|
dependencies = [
|
|
548
552
|
{ name = "anyio" },
|
|
@@ -556,9 +560,9 @@ dependencies = [
|
|
|
556
560
|
{ name = "typing-extensions" },
|
|
557
561
|
{ name = "websockets" },
|
|
558
562
|
]
|
|
559
|
-
sdist = { url = "https://files.pythonhosted.org/packages/
|
|
563
|
+
sdist = { url = "https://files.pythonhosted.org/packages/34/69/6a3d3839ab56ec17d7923c8679b38955e286e0a9793df10ce6d13bc5f122/google_genai-2.31.0.tar.gz", hash = "sha256:71518537de2ba967a61960cba844691dca3dd4ff07726c01a6917d132213541e", size = 745679, upload-time = "2026-10-14T23:52:24.836Z" }
|
|
560
564
|
wheels = [
|
|
561
|
-
{ url = "https://files.pythonhosted.org/packages/
|
|
565
|
+
{ url = "https://files.pythonhosted.org/packages/1c/64/1e9ab799830101ccbdcb67376a3f12b59e51f57643862999fd31af6938a1/google_genai-2.31.0-py3-none-any.whl", hash = "sha256:c87b9d495a24b09dedb29b852a201bea69ecd0b3f6c2561dc68f4055451b1b90", size = 1208245, upload-time = "2026-10-14T23:52:22.766Z" },
|
|
562
566
|
]
|
|
563
567
|
|
|
564
568
|
[[package]]
|
|
@@ -794,7 +798,7 @@ wheels = [
|
|
|
794
798
|
|
|
795
799
|
[[package]]
|
|
796
800
|
name = "llm-bridge"
|
|
797
|
-
version = "2.
|
|
801
|
+
version = "2.3.0"
|
|
798
802
|
source = { editable = "." }
|
|
799
803
|
dependencies = [
|
|
800
804
|
{ name = "anthropic" },
|
|
@@ -821,7 +825,7 @@ requires-dist = [
|
|
|
821
825
|
{ name = "anthropic", specifier = "==0.96.0" },
|
|
822
826
|
{ name = "docxlatex", specifier = ">=1.1.1" },
|
|
823
827
|
{ name = "fastapi" },
|
|
824
|
-
{ name = "google-genai", specifier = "==
|
|
828
|
+
{ name = "google-genai", specifier = "==2.31.0" },
|
|
825
829
|
{ name = "httpx" },
|
|
826
830
|
{ name = "openai", specifier = "==3.1.0" },
|
|
827
831
|
{ name = "openpyxl" },
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/client/implementations/openai_responses/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/client/implementations/xai/non_stream_xai_client.py
RENAMED
|
File without changes
|
{llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/client/implementations/xai/stream_xai_client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/client/model_client/openai_completion_client.py
RENAMED
|
File without changes
|
{llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/client/model_client/openai_responses_client.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/logic/chat_generate/chat_message_converter.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
|
{llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/logic/message_process/code_file_extensions.py
RENAMED
|
File without changes
|
{llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/logic/message_process/document_processor.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
|
{llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/type/model_message/openai_completion_message.py
RENAMED
|
File without changes
|
{llm_bridge-2.2.3 → llm_bridge-2.3.0}/llm_bridge/type/model_message/openai_responses_message.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{llm_bridge-2.2.3 → llm_bridge-2.3.0}/tests/logic/chat_generate/model_message_converter/__init__.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
|