LLM-Bridge 2.0.3__tar.gz → 2.0.4__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.
Files changed (94) hide show
  1. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/PKG-INFO +1 -1
  2. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/llm_bridge/logic/chat_generate/model_client_factory/openai_responses_client_factory.py +1 -1
  3. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/llm_bridge/resources/model_prices.json +43 -79
  4. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/pyproject.toml +1 -1
  5. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/usage/single/config.py +8 -7
  6. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/uv.lock +1 -1
  7. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/.gitattributes +0 -0
  8. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/.github/workflows/pypi-publish.yaml +0 -0
  9. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/.github/workflows/python-test.yaml +0 -0
  10. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/.gitignore +0 -0
  11. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/.run/batch.run.xml +0 -0
  12. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/.run/pytest.run.xml +0 -0
  13. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/.run/single.run.xml +0 -0
  14. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/LICENSE +0 -0
  15. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/MANIFEST.in +0 -0
  16. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/README.md +0 -0
  17. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/llm_bridge/__init__.py +0 -0
  18. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/llm_bridge/client/__init__.py +0 -0
  19. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/llm_bridge/client/chat_client.py +0 -0
  20. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/llm_bridge/client/implementations/__init__.py +0 -0
  21. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/llm_bridge/client/implementations/claude/__init__.py +0 -0
  22. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/llm_bridge/client/implementations/claude/claude_response_handler.py +0 -0
  23. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/llm_bridge/client/implementations/claude/claude_token_counter.py +0 -0
  24. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/llm_bridge/client/implementations/claude/non_stream_claude_client.py +0 -0
  25. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/llm_bridge/client/implementations/claude/stream_claude_client.py +0 -0
  26. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/llm_bridge/client/implementations/gemini/__init__.py +0 -0
  27. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/llm_bridge/client/implementations/gemini/gemini_response_handler.py +0 -0
  28. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/llm_bridge/client/implementations/gemini/gemini_token_counter.py +0 -0
  29. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/llm_bridge/client/implementations/gemini/non_stream_gemini_client.py +0 -0
  30. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/llm_bridge/client/implementations/gemini/stream_gemini_client.py +0 -0
  31. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/llm_bridge/client/implementations/openai_completion/__init__.py +0 -0
  32. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/llm_bridge/client/implementations/openai_completion/non_stream_openai_completion_client.py +0 -0
  33. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/llm_bridge/client/implementations/openai_completion/stream_openai_completion_client.py +0 -0
  34. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/llm_bridge/client/implementations/openai_responses/__init__.py +0 -0
  35. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/llm_bridge/client/implementations/openai_responses/non_stream_openai_responses_client.py +0 -0
  36. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/llm_bridge/client/implementations/openai_responses/openai_responses_response_handler.py +0 -0
  37. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/llm_bridge/client/implementations/openai_responses/stream_openai_responses_client.py +0 -0
  38. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/llm_bridge/client/implementations/xai/__init__.py +0 -0
  39. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/llm_bridge/client/implementations/xai/non_stream_xai_client.py +0 -0
  40. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/llm_bridge/client/implementations/xai/stream_xai_client.py +0 -0
  41. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/llm_bridge/client/implementations/xai/xai_response_handler.py +0 -0
  42. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/llm_bridge/client/model_client/__init__.py +0 -0
  43. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/llm_bridge/client/model_client/claude_client.py +0 -0
  44. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/llm_bridge/client/model_client/gemini_client.py +0 -0
  45. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/llm_bridge/client/model_client/openai_completion_client.py +0 -0
  46. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/llm_bridge/client/model_client/openai_responses_client.py +0 -0
  47. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/llm_bridge/client/model_client/xai_client.py +0 -0
  48. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/llm_bridge/logic/__init__.py +0 -0
  49. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/llm_bridge/logic/chat_generate/__init__.py +0 -0
  50. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/llm_bridge/logic/chat_generate/chat_client_factory.py +0 -0
  51. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/llm_bridge/logic/chat_generate/chat_message_converter.py +0 -0
  52. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/llm_bridge/logic/chat_generate/media_processor.py +0 -0
  53. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/llm_bridge/logic/chat_generate/model_client_factory/__init__.py +0 -0
  54. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/llm_bridge/logic/chat_generate/model_client_factory/claude_client_factory.py +0 -0
  55. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/llm_bridge/logic/chat_generate/model_client_factory/gemini_client_factory.py +0 -0
  56. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/llm_bridge/logic/chat_generate/model_client_factory/openai_completion_client_factory.py +0 -0
  57. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/llm_bridge/logic/chat_generate/model_client_factory/xai_client_factory.py +0 -0
  58. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/llm_bridge/logic/chat_generate/model_message_converter/__init__.py +0 -0
  59. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/llm_bridge/logic/chat_generate/model_message_converter/claude_message_converter.py +0 -0
  60. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/llm_bridge/logic/chat_generate/model_message_converter/gemini_message_converter.py +0 -0
  61. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/llm_bridge/logic/chat_generate/model_message_converter/openai_completion_message_converter.py +0 -0
  62. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/llm_bridge/logic/chat_generate/model_message_converter/openai_responses_message_converter.py +0 -0
  63. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/llm_bridge/logic/chat_generate/model_message_converter/xai_message_converter.py +0 -0
  64. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/llm_bridge/logic/file_fetch.py +0 -0
  65. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/llm_bridge/logic/message_process/__init__.py +0 -0
  66. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/llm_bridge/logic/message_process/code_file_extensions.py +0 -0
  67. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/llm_bridge/logic/message_process/document_processor.py +0 -0
  68. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/llm_bridge/logic/message_process/file_type_checker.py +0 -0
  69. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/llm_bridge/logic/message_process/message_processor.py +0 -0
  70. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/llm_bridge/logic/model_prices.py +0 -0
  71. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/llm_bridge/resources/__init__.py +0 -0
  72. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/llm_bridge/type/__init__.py +0 -0
  73. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/llm_bridge/type/chat_response.py +0 -0
  74. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/llm_bridge/type/message.py +0 -0
  75. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/llm_bridge/type/model_message/__init__.py +0 -0
  76. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/llm_bridge/type/model_message/claude_message.py +0 -0
  77. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/llm_bridge/type/model_message/gemini_message.py +0 -0
  78. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/llm_bridge/type/model_message/openai_completion_message.py +0 -0
  79. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/llm_bridge/type/model_message/openai_responses_message.py +0 -0
  80. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/llm_bridge/type/model_message/xai_message.py +0 -0
  81. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/llm_bridge/type/serializer.py +0 -0
  82. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/tests/__init__.py +0 -0
  83. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/tests/file_type_checker_test.py +0 -0
  84. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/tests/model_prices_test.py +0 -0
  85. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/usage/.env.example +0 -0
  86. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/usage/__init__.py +0 -0
  87. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/usage/batch/__init__.py +0 -0
  88. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/usage/batch/batch.py +0 -0
  89. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/usage/batch/config.py +0 -0
  90. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/usage/keys.py +0 -0
  91. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/usage/messages.py +0 -0
  92. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/usage/single/__init__.py +0 -0
  93. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/usage/single/single.py +0 -0
  94. {llm_bridge-2.0.3 → llm_bridge-2.0.4}/usage/workflow.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: LLM-Bridge
3
- Version: 2.0.3
3
+ Version: 2.0.4
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
@@ -51,7 +51,7 @@ async def create_openai_responses_client(
51
51
  reasoning: Reasoning | Omit = omit
52
52
  include: list[ResponseIncludable] = ["code_interpreter_call.outputs"]
53
53
 
54
- if model not in ["gpt-5-pro", "gpt-5.2-pro"] and "codex" not in model:
54
+ if "codex" not in model:
55
55
  if code_execution:
56
56
  tools.append(
57
57
  CodeInterpreter(
@@ -11,7 +11,49 @@
11
11
  "input": 0.4,
12
12
  "output": 25
13
13
  },
14
- {
14
+ {
15
+ "apiType": "OpenAI",
16
+ "model": "gpt-5.5",
17
+ "input": 10,
18
+ "output": 45
19
+ },
20
+ {
21
+ "apiType": "OpenAI",
22
+ "model": "gpt-5.4",
23
+ "input": 5,
24
+ "output": 22.5
25
+ },
26
+ {
27
+ "apiType": "OpenAI",
28
+ "model": "gpt-5.4-mini",
29
+ "input": 0.75,
30
+ "output": 4.5
31
+ },
32
+ {
33
+ "apiType": "OpenAI",
34
+ "model": "gpt-5.3-codex",
35
+ "input": 1.75,
36
+ "output": 14
37
+ },
38
+ {
39
+ "apiType": "OpenAI",
40
+ "model": "gpt-5.5-pro",
41
+ "input": 60,
42
+ "output": 270
43
+ },
44
+ {
45
+ "apiType": "OpenAI",
46
+ "model": "gpt-5.4-pro",
47
+ "input": 60,
48
+ "output": 270
49
+ },
50
+ {
51
+ "apiType": "OpenAI",
52
+ "model": "gpt-4.1",
53
+ "input": 2,
54
+ "output": 8
55
+ },
56
+ {
15
57
  "apiType": "Claude",
16
58
  "model": "claude-opus-4-7",
17
59
  "input": 5,
@@ -107,84 +149,6 @@
107
149
  "input": 0,
108
150
  "output": 0
109
151
  },
110
- {
111
- "apiType": "OpenAI",
112
- "model": "gpt-5.4",
113
- "input": 5,
114
- "output": 22.5
115
- },
116
- {
117
- "apiType": "OpenAI",
118
- "model": "gpt-5.4-mini",
119
- "input": 0.75,
120
- "output": 4.5
121
- },
122
- {
123
- "apiType": "OpenAI",
124
- "model": "gpt-5.2",
125
- "input": 1.75,
126
- "output": 14
127
- },
128
- {
129
- "apiType": "OpenAI",
130
- "model": "gpt-5.1",
131
- "input": 1.25,
132
- "output": 10
133
- },
134
- {
135
- "apiType": "OpenAI",
136
- "model": "gpt-5.1-codex-max",
137
- "input": 1.25,
138
- "output": 10
139
- },
140
- {
141
- "apiType": "OpenAI",
142
- "model": "gpt-5.1-codex",
143
- "input": 1.25,
144
- "output": 10
145
- },
146
- {
147
- "apiType": "OpenAI",
148
- "model": "gpt-5",
149
- "input": 1.25,
150
- "output": 10
151
- },
152
- {
153
- "apiType": "OpenAI",
154
- "model": "gpt-5-codex",
155
- "input": 1.25,
156
- "output": 10
157
- },
158
- {
159
- "apiType": "OpenAI",
160
- "model": "gpt-5-mini",
161
- "input": 0.25,
162
- "output": 2
163
- },
164
- {
165
- "apiType": "OpenAI",
166
- "model": "gpt-5.4-pro",
167
- "input": 60,
168
- "output": 270
169
- },
170
- {
171
- "apiType": "OpenAI",
172
- "model": "gpt-5.2-pro",
173
- "input": 21,
174
- "output": 168
175
- },
176
- {
177
- "apiType": "OpenAI",
178
- "model": "gpt-5-pro",
179
- "input": 15,
180
- "output": 120
181
- },
182
- {
183
- "apiType": "OpenAI",
184
- "model": "gpt-4.1",
185
- "input": 2,
186
- "output": 8
187
- },
188
152
  {
189
153
  "apiType": "OpenAI-Azure",
190
154
  "model": "gpt-4.1",
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "LLM-Bridge"
7
- version = "2.0.3"
7
+ version = "2.0.4"
8
8
  dependencies = [
9
9
  "fastapi",
10
10
  "httpx",
@@ -165,6 +165,7 @@ messages = [
165
165
  # model = "gpt-5.2"
166
166
  # model = "gpt-5.1"
167
167
  # model = "gpt-5.4"
168
+ model = "gpt-5.4-pro"
168
169
  # model = "gpt-5"
169
170
  # model = "gpt-4.1"
170
171
  # model = "gpt-5-codex"
@@ -173,24 +174,24 @@ messages = [
173
174
  # model = "gemini-3.1-flash-image-preview"
174
175
  # model = "gemini-3-flash-preview"
175
176
  # model = "claude-sonnet-4-6"
176
- model = "grok-4.20-reasoning"
177
+ # model = "grok-4.20-reasoning"
177
178
  # model = "grok-4.20-non-reasoning"
178
179
 
179
180
  # api_type = "Vertex AI"
180
181
  # api_type = "Google AI Studio Free Tier"
181
182
  # api_type = "Google AI Studio"
182
- # api_type = "OpenAI"
183
+ api_type = "OpenAI"
183
184
  # api_type = "OpenAI-Azure"
184
185
  # api_type = "OpenAI-GitHub"
185
186
  # api_type = "Claude"
186
- api_type = "Grok"
187
+ # api_type = "Grok"
187
188
 
188
189
  temperature = 0
189
190
  stream = True
190
191
  # stream = False
191
192
  thought = True
192
193
  # thought = False
193
- # web_search = True
194
- web_search = False
195
- # code_execution = True
196
- code_execution = False
194
+ web_search = True
195
+ # web_search = False
196
+ code_execution = True
197
+ # code_execution = False
@@ -748,7 +748,7 @@ wheels = [
748
748
 
749
749
  [[package]]
750
750
  name = "llm-bridge"
751
- version = "2.0.3"
751
+ version = "2.0.4"
752
752
  source = { editable = "." }
753
753
  dependencies = [
754
754
  { name = "anthropic" },
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