chatlas 0.9.1__py3-none-any.whl → 0.10.0__py3-none-any.whl

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.

Potentially problematic release.


This version of chatlas might be problematic. Click here for more details.

Files changed (36) hide show
  1. chatlas/__init__.py +21 -9
  2. chatlas/_auto.py +9 -9
  3. chatlas/_chat.py +38 -9
  4. chatlas/{_anthropic.py → _provider_anthropic.py} +13 -5
  5. chatlas/_provider_cloudflare.py +165 -0
  6. chatlas/{_databricks.py → _provider_databricks.py} +13 -2
  7. chatlas/_provider_deepseek.py +171 -0
  8. chatlas/{_github.py → _provider_github.py} +2 -2
  9. chatlas/{_google.py → _provider_google.py} +5 -5
  10. chatlas/{_groq.py → _provider_groq.py} +2 -2
  11. chatlas/_provider_huggingface.py +155 -0
  12. chatlas/_provider_mistral.py +181 -0
  13. chatlas/{_ollama.py → _provider_ollama.py} +2 -2
  14. chatlas/{_openai.py → _provider_openai.py} +28 -9
  15. chatlas/_provider_openrouter.py +149 -0
  16. chatlas/{_perplexity.py → _provider_perplexity.py} +2 -2
  17. chatlas/_provider_portkey.py +123 -0
  18. chatlas/{_snowflake.py → _provider_snowflake.py} +3 -3
  19. chatlas/_tokens.py +27 -12
  20. chatlas/_turn.py +3 -4
  21. chatlas/_typing_extensions.py +3 -3
  22. chatlas/_version.py +16 -3
  23. chatlas/data/prices.json +2769 -163
  24. chatlas/types/__init__.py +3 -3
  25. chatlas/types/anthropic/_client.py +1 -1
  26. chatlas/types/anthropic/_client_bedrock.py +1 -1
  27. chatlas/types/anthropic/_submit.py +5 -5
  28. chatlas/types/google/_submit.py +23 -29
  29. chatlas/types/openai/_client.py +1 -1
  30. chatlas/types/openai/_client_azure.py +1 -1
  31. chatlas/types/openai/_submit.py +28 -3
  32. {chatlas-0.9.1.dist-info → chatlas-0.10.0.dist-info}/METADATA +4 -4
  33. chatlas-0.10.0.dist-info/RECORD +54 -0
  34. chatlas-0.9.1.dist-info/RECORD +0 -48
  35. {chatlas-0.9.1.dist-info → chatlas-0.10.0.dist-info}/WHEEL +0 -0
  36. {chatlas-0.9.1.dist-info → chatlas-0.10.0.dist-info}/licenses/LICENSE +0 -0
chatlas/types/__init__.py CHANGED
@@ -1,7 +1,7 @@
1
1
  from .._chat import ( # noqa: A005
2
- ChatResponse,
3
- ChatResponseAsync,
4
- SubmitInputArgsT,
2
+ ChatResponse,
3
+ ChatResponseAsync,
4
+ SubmitInputArgsT,
5
5
  )
6
6
  from .._content import (
7
7
  Content,
@@ -17,5 +17,5 @@ class ChatClientArgs(TypedDict, total=False):
17
17
  max_retries: int
18
18
  default_headers: Optional[Mapping[str, str]]
19
19
  default_query: Optional[Mapping[str, object]]
20
- http_client: httpx.AsyncClient
20
+ http_client: httpx.AsyncClient | None
21
21
  _strict_response_validation: bool
@@ -19,5 +19,5 @@ class ChatBedrockClientArgs(TypedDict, total=False):
19
19
  max_retries: int
20
20
  default_headers: Optional[Mapping[str, str]]
21
21
  default_query: Optional[Mapping[str, object]]
22
- http_client: httpx.AsyncClient
22
+ http_client: httpx.AsyncClient | None
23
23
  _strict_response_validation: bool
@@ -17,7 +17,8 @@ import anthropic.types.tool_choice_none_param
17
17
  import anthropic.types.tool_choice_tool_param
18
18
  import anthropic.types.tool_param
19
19
  import anthropic.types.tool_text_editor_20250124_param
20
- import anthropic.types.tool_union_param
20
+ import anthropic.types.tool_text_editor_20250429_param
21
+ import anthropic.types.tool_text_editor_20250728_param
21
22
  import anthropic.types.web_search_tool_20250305_param
22
23
 
23
24
 
@@ -39,12 +40,10 @@ class SubmitInputArgs(TypedDict, total=False):
39
40
  "claude-opus-4-0",
40
41
  "claude-opus-4-20250514",
41
42
  "claude-4-opus-20250514",
43
+ "claude-opus-4-1-20250805",
42
44
  "claude-3-opus-latest",
43
45
  "claude-3-opus-20240229",
44
- "claude-3-sonnet-20240229",
45
46
  "claude-3-haiku-20240307",
46
- "claude-2.1",
47
- "claude-2.0",
48
47
  ],
49
48
  str,
50
49
  ]
@@ -75,7 +74,8 @@ class SubmitInputArgs(TypedDict, total=False):
75
74
  anthropic.types.tool_param.ToolParam,
76
75
  anthropic.types.tool_bash_20250124_param.ToolBash20250124Param,
77
76
  anthropic.types.tool_text_editor_20250124_param.ToolTextEditor20250124Param,
78
- anthropic.types.tool_union_param.TextEditor20250429,
77
+ anthropic.types.tool_text_editor_20250429_param.ToolTextEditor20250429Param,
78
+ anthropic.types.tool_text_editor_20250728_param.ToolTextEditor20250728Param,
79
79
  anthropic.types.web_search_tool_20250305_param.WebSearchTool20250305Param,
80
80
  ]
81
81
  ],
@@ -12,52 +12,46 @@ import PIL.Image
12
12
  class SubmitInputArgs(TypedDict, total=False):
13
13
  model: str
14
14
  contents: Union[
15
+ google.genai.types.Content,
16
+ google.genai.types.ContentDict,
17
+ str,
18
+ PIL.Image.Image,
19
+ google.genai.types.File,
20
+ google.genai.types.FileDict,
21
+ google.genai.types.Part,
22
+ google.genai.types.PartDict,
15
23
  list[
16
24
  Union[
17
- google.genai.types.Content,
18
- list[
19
- Union[
20
- google.genai.types.File,
21
- google.genai.types.Part,
22
- PIL.Image.Image,
23
- str,
24
- ]
25
- ],
25
+ str,
26
+ PIL.Image.Image,
26
27
  google.genai.types.File,
28
+ google.genai.types.FileDict,
27
29
  google.genai.types.Part,
28
- PIL.Image.Image,
29
- str,
30
+ google.genai.types.PartDict,
30
31
  ]
31
32
  ],
32
- google.genai.types.Content,
33
- list[
34
- Union[
35
- google.genai.types.File, google.genai.types.Part, PIL.Image.Image, str
36
- ]
37
- ],
38
- google.genai.types.File,
39
- google.genai.types.Part,
40
- PIL.Image.Image,
41
- str,
42
33
  list[
43
34
  Union[
44
35
  google.genai.types.Content,
36
+ google.genai.types.ContentDict,
37
+ str,
38
+ PIL.Image.Image,
39
+ google.genai.types.File,
40
+ google.genai.types.FileDict,
41
+ google.genai.types.Part,
42
+ google.genai.types.PartDict,
45
43
  list[
46
44
  Union[
45
+ str,
46
+ PIL.Image.Image,
47
47
  google.genai.types.File,
48
+ google.genai.types.FileDict,
48
49
  google.genai.types.Part,
49
- PIL.Image.Image,
50
- str,
50
+ google.genai.types.PartDict,
51
51
  ]
52
52
  ],
53
- google.genai.types.File,
54
- google.genai.types.Part,
55
- PIL.Image.Image,
56
- str,
57
- google.genai.types.ContentDict,
58
53
  ]
59
54
  ],
60
- google.genai.types.ContentDict,
61
55
  ]
62
56
  config: Union[
63
57
  google.genai.types.GenerateContentConfig,
@@ -20,5 +20,5 @@ class ChatClientArgs(TypedDict, total=False):
20
20
  max_retries: int
21
21
  default_headers: Optional[Mapping[str, str]]
22
22
  default_query: Optional[Mapping[str, object]]
23
- http_client: httpx.AsyncClient
23
+ http_client: httpx.AsyncClient | None
24
24
  _strict_response_validation: bool
@@ -23,5 +23,5 @@ class ChatAzureClientArgs(TypedDict, total=False):
23
23
  max_retries: int
24
24
  default_headers: Optional[Mapping[str, str]]
25
25
  default_query: Optional[Mapping[str, object]]
26
- http_client: httpx.AsyncClient
26
+ http_client: httpx.AsyncClient | None
27
27
  _strict_response_validation: bool
@@ -6,17 +6,20 @@
6
6
  from typing import Iterable, Literal, Mapping, Optional, TypedDict, Union
7
7
 
8
8
  import openai
9
+ import openai.types.chat.chat_completion_allowed_tool_choice_param
9
10
  import openai.types.chat.chat_completion_assistant_message_param
10
11
  import openai.types.chat.chat_completion_audio_param
12
+ import openai.types.chat.chat_completion_custom_tool_param
11
13
  import openai.types.chat.chat_completion_developer_message_param
12
14
  import openai.types.chat.chat_completion_function_call_option_param
13
15
  import openai.types.chat.chat_completion_function_message_param
16
+ import openai.types.chat.chat_completion_function_tool_param
17
+ import openai.types.chat.chat_completion_named_tool_choice_custom_param
14
18
  import openai.types.chat.chat_completion_named_tool_choice_param
15
19
  import openai.types.chat.chat_completion_prediction_content_param
16
20
  import openai.types.chat.chat_completion_stream_options_param
17
21
  import openai.types.chat.chat_completion_system_message_param
18
22
  import openai.types.chat.chat_completion_tool_message_param
19
- import openai.types.chat.chat_completion_tool_param
20
23
  import openai.types.chat.chat_completion_user_message_param
21
24
  import openai.types.chat.completion_create_params
22
25
  import openai.types.shared_params.response_format_json_object
@@ -38,6 +41,13 @@ class SubmitInputArgs(TypedDict, total=False):
38
41
  model: Union[
39
42
  str,
40
43
  Literal[
44
+ "gpt-5",
45
+ "gpt-5-mini",
46
+ "gpt-5-nano",
47
+ "gpt-5-2025-08-07",
48
+ "gpt-5-mini-2025-08-07",
49
+ "gpt-5-nano-2025-08-07",
50
+ "gpt-5-chat-latest",
41
51
  "gpt-4.1",
42
52
  "gpt-4.1-mini",
43
53
  "gpt-4.1-nano",
@@ -123,13 +133,17 @@ class SubmitInputArgs(TypedDict, total=False):
123
133
  openai.NotGiven,
124
134
  ]
125
135
  presence_penalty: Union[float, None, openai.NotGiven]
126
- reasoning_effort: Union[Literal["low", "medium", "high"], None, openai.NotGiven]
136
+ prompt_cache_key: str | openai.NotGiven
137
+ reasoning_effort: Union[
138
+ Literal["minimal", "low", "medium", "high"], None, openai.NotGiven
139
+ ]
127
140
  response_format: Union[
128
141
  openai.types.shared_params.response_format_text.ResponseFormatText,
129
142
  openai.types.shared_params.response_format_json_schema.ResponseFormatJSONSchema,
130
143
  openai.types.shared_params.response_format_json_object.ResponseFormatJSONObject,
131
144
  openai.NotGiven,
132
145
  ]
146
+ safety_identifier: str | openai.NotGiven
133
147
  seed: Union[int, None, openai.NotGiven]
134
148
  service_tier: Union[
135
149
  Literal["auto", "default", "flex", "scale", "priority"], None, openai.NotGiven
@@ -145,16 +159,27 @@ class SubmitInputArgs(TypedDict, total=False):
145
159
  temperature: Union[float, None, openai.NotGiven]
146
160
  tool_choice: Union[
147
161
  Literal["none", "auto", "required"],
162
+ openai.types.chat.chat_completion_allowed_tool_choice_param.ChatCompletionAllowedToolChoiceParam,
148
163
  openai.types.chat.chat_completion_named_tool_choice_param.ChatCompletionNamedToolChoiceParam,
164
+ openai.types.chat.chat_completion_named_tool_choice_custom_param.ChatCompletionNamedToolChoiceCustomParam,
149
165
  openai.NotGiven,
150
166
  ]
151
167
  tools: Union[
152
- Iterable[openai.types.chat.chat_completion_tool_param.ChatCompletionToolParam],
168
+ Iterable[
169
+ Union[
170
+ openai.types.chat.chat_completion_function_tool_param.ChatCompletionFunctionToolParam,
171
+ openai.types.chat.chat_completion_custom_tool_param.ChatCompletionCustomToolParam,
172
+ ]
173
+ ],
153
174
  openai.NotGiven,
154
175
  ]
155
176
  top_logprobs: Union[int, None, openai.NotGiven]
156
177
  top_p: Union[float, None, openai.NotGiven]
157
178
  user: str | openai.NotGiven
179
+ verbosity: Union[Literal["low", "medium", "high"], None, openai.NotGiven]
180
+ web_search_options: (
181
+ openai.types.chat.completion_create_params.WebSearchOptions | openai.NotGiven
182
+ )
158
183
  extra_headers: Optional[Mapping[str, Union[str, openai.Omit]]]
159
184
  extra_query: Optional[Mapping[str, object]]
160
185
  extra_body: object | None
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: chatlas
3
- Version: 0.9.1
3
+ Version: 0.10.0
4
4
  Summary: A simple and consistent interface for chatting with LLMs
5
5
  Project-URL: Homepage, https://posit-dev.github.io/chatlas
6
6
  Project-URL: Documentation, https://posit-dev.github.io/chatlas
@@ -69,7 +69,7 @@ Provides-Extra: ollama
69
69
  Provides-Extra: openai
70
70
  Provides-Extra: perplexity
71
71
  Provides-Extra: snowflake
72
- Requires-Dist: snowflake-ml-python; extra == 'snowflake'
72
+ Requires-Dist: snowflake-ml-python<=1.9.0; extra == 'snowflake'
73
73
  Provides-Extra: test
74
74
  Requires-Dist: pyright>=1.1.379; extra == 'test'
75
75
  Requires-Dist: pytest-asyncio; extra == 'test'
@@ -79,7 +79,7 @@ Provides-Extra: vertex
79
79
  Requires-Dist: google-genai>=1.14.0; extra == 'vertex'
80
80
  Description-Content-Type: text/markdown
81
81
 
82
- # chatlas <a href="https://posit-dev.github.io/chatlas"><img src="docs/logos/hex/logo.png" align="right" height="138" alt="chatlas website" /></a>
82
+ # chatlas <a href="https://posit-dev.github.io/chatlas"><img src="https://posit-dev.github.io/chatlas/logos/hex/logo.png" align="right" height="138" alt="chatlas website" /></a>
83
83
 
84
84
  <p>
85
85
  <!-- badges start -->
@@ -135,7 +135,7 @@ chat.chat("How's the weather in San Francisco?")
135
135
  ```
136
136
 
137
137
 
138
- <img src="docs/images/chatlas-hello.png" alt="Model response output to the user query: 'How's the weather in San Francisco?'" width="67%" style="display: block; margin-left: auto; margin-right: auto">
138
+ <img src="https://posit-dev.github.io/chatlas/images/chatlas-hello.png" alt="Model response output to the user query: 'How's the weather in San Francisco?'" width="67%" style="display: block; margin-left: auto; margin-right: auto">
139
139
 
140
140
 
141
141
  Learn more at <https://posit-dev.github.io/chatlas>
@@ -0,0 +1,54 @@
1
+ chatlas/__init__.py,sha256=acbfWs7cquCWnP3ZyxYNNQLSQyIvEg2jbDn2O0iArnE,2111
2
+ chatlas/_auto.py,sha256=-s7XGzsKLX4RipWtk4WOE8iKbOBhXPUPtI0-63PpXCY,5660
3
+ chatlas/_callbacks.py,sha256=3RpPaOQonTqScjXbaShgKJ1Rc-YxzWerxKRBjVssFnc,1838
4
+ chatlas/_chat.py,sha256=cZ7HG4jELhRumNvbSvsG0Lv-GZTl9wQrx8oydnAmKxE,82062
5
+ chatlas/_content.py,sha256=Jk0frLSdZTEyGu4KDHsgQbQQDHEX9nYVMNUXx4OKGSo,19775
6
+ chatlas/_content_image.py,sha256=EUK6wAint-JatLsiwvaPDu4D3W-NcIsDCkzABkXgfDg,8304
7
+ chatlas/_content_pdf.py,sha256=cffeuJxzhUDukQ-Srkmpy62M8X12skYpU_FVq-Wvya4,2420
8
+ chatlas/_display.py,sha256=wyQzSc6z1VqrJfkTLkw1wQcti9s1Pr4qT8UxFJESn4U,4664
9
+ chatlas/_interpolate.py,sha256=kqMrSmqxqzNCl9ReweZqT2hOtdfLOgNcOguLCfAHNMY,3641
10
+ chatlas/_live_render.py,sha256=UMZltE35LxziDKPMEeDwQ9meZ95SeqwhJi7j-y9pcro,4004
11
+ chatlas/_logging.py,sha256=weKvXZDIZ88X7X61ruXM_S0AAhQ5mgiW9dR-km8x7Mg,3324
12
+ chatlas/_mcp_manager.py,sha256=smMXeKZzP90MrlCdnTHMyo7AWHwl7J2jkU8dKSlnEsQ,10237
13
+ chatlas/_merge.py,sha256=SGj_BetgA7gaOqSBKOhYmW3CYeQKTEehFrXvx3y4OYE,3924
14
+ chatlas/_provider.py,sha256=0cl6JtMe6xRbc-ghp4JqdwTv6OQeewQUgdToRSktJ3I,5374
15
+ chatlas/_provider_anthropic.py,sha256=YHXZLtrNnZEVPGYGgsfsiqpM9Zm6HDv8zuj3cW7i8FE,25888
16
+ chatlas/_provider_cloudflare.py,sha256=Q3YB0wMl_DWWBCp7RmDMXxDqIScM1mSKeNTEJ5xpIOY,4932
17
+ chatlas/_provider_databricks.py,sha256=XytRyn_oAJzSUfz4CkTqq2LsCyYror4VN5jBO55tx0E,4526
18
+ chatlas/_provider_deepseek.py,sha256=6nPtPSo-Po6sD4i8PZJHuI5T2oATpLi5djXFGdlserk,4906
19
+ chatlas/_provider_github.py,sha256=68dXdNxEQo5Yf7MtxA-SdV3HGXzMEQie1sP3c5u7Akk,3921
20
+ chatlas/_provider_google.py,sha256=Q-VgKij7T3y3zPMhx73BxoHM8RG499Ediw4lMNWWVYA,20297
21
+ chatlas/_provider_groq.py,sha256=XB2JDyuF95CcSbNkgk7JHcuy9KCW7hxTVaONDSjK8U8,3671
22
+ chatlas/_provider_huggingface.py,sha256=feJ416X0UdtyoeHZbkgolFf62D7zxNwM7i_X3NYsQQw,4669
23
+ chatlas/_provider_mistral.py,sha256=-p4rut0KCn-PrwnOlvr6lK8-K-OXvc5H9vTX-rCzUkk,5309
24
+ chatlas/_provider_ollama.py,sha256=2TNg5UTEYQvjeChqyJ8hh8fV-A0Xh-B5Hv8b5rtA9FY,3309
25
+ chatlas/_provider_openai.py,sha256=wupHVATX3Ra244jRLhQkAitBZzp0MIIuCYIzdYiPdEU,25554
26
+ chatlas/_provider_openrouter.py,sha256=9sCXvROVIiUdwfEbkVA-15_kc6ouFUP2uV2MmUe2rFk,4385
27
+ chatlas/_provider_perplexity.py,sha256=hEfKYmNrv3yU-IP_3xCS02u7pQunhKC6iZpoiKWX9fc,3958
28
+ chatlas/_provider_portkey.py,sha256=G-U66By6t5iW4h5m4ut_2DBUq8Z7qTtcjuty-WF3nSw,3809
29
+ chatlas/_provider_snowflake.py,sha256=83P7NiNT3D_JNeX_zs4JXwDWeoaYo9IKxN91W0GWWho,24310
30
+ chatlas/_tokens.py,sha256=QUsBLNJPgXk8vovcG5JdQU8NarCv7FRpOVBdgFkBgHs,5388
31
+ chatlas/_tokens_old.py,sha256=L9d9oafrXvEx2u4nIn_Jjn7adnQyLBnYBuPwJUE8Pl8,5005
32
+ chatlas/_tools.py,sha256=bOXJ0ry6vQqU8Qm-PVdESN8HTuUv1teqPH_vtqILv9k,11088
33
+ chatlas/_turn.py,sha256=yK7alUxeP8d2iBc7amyz20BtEqcpvX6BCwWZsnlQ5R4,4515
34
+ chatlas/_typing_extensions.py,sha256=MB9vWMWlm-IF8uOQfrTcfb66MV6gYXn3zgnbdwAC7BQ,1076
35
+ chatlas/_utils.py,sha256=Kku2fa1mvTYCr5D28VxE6-fwfy2e2doCi-eKQkLEg4Y,4686
36
+ chatlas/_version.py,sha256=XS8OMho0YiZyQ_qDeRsy__m_nWUzYVEJw-NLk1VtDQU,706
37
+ chatlas/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
38
+ chatlas/data/prices.json,sha256=vESC5G1SDCnPrfRQTrvJ9wVdxyLEJZrAygV0oJ99ccc,56230
39
+ chatlas/types/__init__.py,sha256=oRgbo1FIC2qkiZ6Bi4n3RNgCA6VDTeueoCHO4-6h1NA,725
40
+ chatlas/types/anthropic/__init__.py,sha256=OwubA-DPHYpYo0XyRyAFwftOI0mOxtHzAyhUSLcDx54,417
41
+ chatlas/types/anthropic/_client.py,sha256=t_tnOzzsW1xWNADkNoAuZJYoE9QJ8ie7DQNnFO1pvoM,697
42
+ chatlas/types/anthropic/_client_bedrock.py,sha256=2J6U1QcSx1KwiiHfXs3i4YEXDXw11sp-x3iLOuESrgQ,792
43
+ chatlas/types/anthropic/_submit.py,sha256=o5bpKEne6lqBz4YBLoYwRLKCVmBIdzRetiMCoOdUfb0,3661
44
+ chatlas/types/google/__init__.py,sha256=ZJhi8Kwvio2zp8T1TQqmvdHqkS-Khb6BGESPjREADgo,337
45
+ chatlas/types/google/_client.py,sha256=t7aKbxYq_xOA1Z3RnWcjewifdQFSHi7vKEj6MyKMCJk,729
46
+ chatlas/types/google/_submit.py,sha256=19Ji4fAo1lTCbNSpR6Yi0i64RJwMGBdiZKQcnoDNRwY,1796
47
+ chatlas/types/openai/__init__.py,sha256=Q2RAr1bSH1nHsxICK05nAmKmxdhKmhbBkWD_XHiVSrI,411
48
+ chatlas/types/openai/_client.py,sha256=SttisELwAd52_Je_5q3RfWGdX5wbg2CoGbxhS8ThS0A,792
49
+ chatlas/types/openai/_client_azure.py,sha256=b8Hr7iKYA5-sq9r7uEqbBFv9yo3itppmHIgkEGvChMs,896
50
+ chatlas/types/openai/_submit.py,sha256=rhft1h7zy6eSlSBLkt7ZAySFh-8WnR5UEG-BXaFTxag,7815
51
+ chatlas-0.10.0.dist-info/METADATA,sha256=dhX_Mf6xlpwwaJajsGTGuJ7GCwEZLmBZqqU7NvbOObY,5594
52
+ chatlas-0.10.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
53
+ chatlas-0.10.0.dist-info/licenses/LICENSE,sha256=zyuGzPOC7CcbOaBHsQ3UEyKYRO56KDUkor0OA4LqqDg,1081
54
+ chatlas-0.10.0.dist-info/RECORD,,
@@ -1,48 +0,0 @@
1
- chatlas/__init__.py,sha256=s_v-xnhDl6AIoAEE_UTHMxbYX2ukjSFlDutjpYKGiVA,1625
2
- chatlas/_anthropic.py,sha256=WpIyfXWwJA27qShgBcsUsMs9pA_dXpwPZZ3Liup-CnE,25555
3
- chatlas/_auto.py,sha256=8a0ozUnPR8H4_h6BeUiObLN1mZEGTXDGAUbxYcD_a7U,5579
4
- chatlas/_callbacks.py,sha256=3RpPaOQonTqScjXbaShgKJ1Rc-YxzWerxKRBjVssFnc,1838
5
- chatlas/_chat.py,sha256=k4pZy7o-eyfwyiZvsktN8xIqpWqNVKvt03kpgSKBEvk,80553
6
- chatlas/_content.py,sha256=Jk0frLSdZTEyGu4KDHsgQbQQDHEX9nYVMNUXx4OKGSo,19775
7
- chatlas/_content_image.py,sha256=EUK6wAint-JatLsiwvaPDu4D3W-NcIsDCkzABkXgfDg,8304
8
- chatlas/_content_pdf.py,sha256=cffeuJxzhUDukQ-Srkmpy62M8X12skYpU_FVq-Wvya4,2420
9
- chatlas/_databricks.py,sha256=yZ3h40pGJfJYtwvo3aC3-XiI_mFVK3TO7MAdqhOHyiU,4144
10
- chatlas/_display.py,sha256=wyQzSc6z1VqrJfkTLkw1wQcti9s1Pr4qT8UxFJESn4U,4664
11
- chatlas/_github.py,sha256=pDtU6T_gOI6HNPpK0nQRtIdLImONpNtCgd-JCJecuME,3903
12
- chatlas/_google.py,sha256=Yp9SVuo3MCAZXEAUUUr57gzzHdsEgw-SPLoJhGuXBj0,20185
13
- chatlas/_groq.py,sha256=8imeJFKiRbK1E212FdHsZ8fwHEVd0JmJfZe0H9qCWao,3653
14
- chatlas/_interpolate.py,sha256=kqMrSmqxqzNCl9ReweZqT2hOtdfLOgNcOguLCfAHNMY,3641
15
- chatlas/_live_render.py,sha256=UMZltE35LxziDKPMEeDwQ9meZ95SeqwhJi7j-y9pcro,4004
16
- chatlas/_logging.py,sha256=weKvXZDIZ88X7X61ruXM_S0AAhQ5mgiW9dR-km8x7Mg,3324
17
- chatlas/_mcp_manager.py,sha256=smMXeKZzP90MrlCdnTHMyo7AWHwl7J2jkU8dKSlnEsQ,10237
18
- chatlas/_merge.py,sha256=SGj_BetgA7gaOqSBKOhYmW3CYeQKTEehFrXvx3y4OYE,3924
19
- chatlas/_ollama.py,sha256=tgx7DjaIHsGh-lnr4TzbkKoelPVXp7goG3LbyJ8bnYM,3291
20
- chatlas/_openai.py,sha256=sJTPMpzoSbYJswJv2hnKHgHZ3n8Za-gpfW_Ue41dNL0,24814
21
- chatlas/_perplexity.py,sha256=KcGbOwKwdKX8eJJZzkW33SPt9mPE4aFWLAP0pzsOjeQ,3940
22
- chatlas/_provider.py,sha256=0cl6JtMe6xRbc-ghp4JqdwTv6OQeewQUgdToRSktJ3I,5374
23
- chatlas/_snowflake.py,sha256=2RlD9NG_xWcrRPIqQHJP40jyt0y2Qzw7kcSFkAWFTsY,24210
24
- chatlas/_tokens.py,sha256=5L6GgF8biHtGXuZ9tTsvIJ9Qu_iVWcSQBjLMB_7-Ffw,4845
25
- chatlas/_tokens_old.py,sha256=L9d9oafrXvEx2u4nIn_Jjn7adnQyLBnYBuPwJUE8Pl8,5005
26
- chatlas/_tools.py,sha256=bOXJ0ry6vQqU8Qm-PVdESN8HTuUv1teqPH_vtqILv9k,11088
27
- chatlas/_turn.py,sha256=WsJ4-28qMtLTKD6OMIWxTdx7aA1fhn_Lu2bmqfaRakg,4497
28
- chatlas/_typing_extensions.py,sha256=YdzmlyPSBpIEcsOkoz12e6jETT1XEMV2Q72haE4cfwY,1036
29
- chatlas/_utils.py,sha256=Kku2fa1mvTYCr5D28VxE6-fwfy2e2doCi-eKQkLEg4Y,4686
30
- chatlas/_version.py,sha256=QG_t-w_CzDn2UjPaW-Svt-wTU1NXK2QkudawUihJfHA,511
31
- chatlas/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
32
- chatlas/data/prices.json,sha256=vSzIgzneH2BI4p50NIA1KZHnh4AFBLjtS8bEVinwL50,4823
33
- chatlas/types/__init__.py,sha256=P_EDL4eqsigKwB-u2qRmKlYQS5Y65m7oWjGC3cYmxO4,719
34
- chatlas/types/anthropic/__init__.py,sha256=OwubA-DPHYpYo0XyRyAFwftOI0mOxtHzAyhUSLcDx54,417
35
- chatlas/types/anthropic/_client.py,sha256=G0LRhoFBcsSOMr5qhP-0rAScsVXaVlHCpggfVp54bnQ,690
36
- chatlas/types/anthropic/_client_bedrock.py,sha256=mNazQlu0pQt8JdzrYn3LKNgE4n732GjhQUJdQQK9QkY,785
37
- chatlas/types/anthropic/_submit.py,sha256=VKoWuMdB4aFd1-O7Lys9aj1DU1tL7OnfkblkTCE-pxM,3526
38
- chatlas/types/google/__init__.py,sha256=ZJhi8Kwvio2zp8T1TQqmvdHqkS-Khb6BGESPjREADgo,337
39
- chatlas/types/google/_client.py,sha256=t7aKbxYq_xOA1Z3RnWcjewifdQFSHi7vKEj6MyKMCJk,729
40
- chatlas/types/google/_submit.py,sha256=b-ZqMvI551Ia7pFlWdqUQJjov3neHmVwLFw-P2bgU8w,1883
41
- chatlas/types/openai/__init__.py,sha256=Q2RAr1bSH1nHsxICK05nAmKmxdhKmhbBkWD_XHiVSrI,411
42
- chatlas/types/openai/_client.py,sha256=xEnMiVFjeIQkfMtTWA4mZP_cQbh8uBphml0H7x4ot4Q,785
43
- chatlas/types/openai/_client_azure.py,sha256=Dw8AgWgBgjSOkpYKAyjlx8Gxndc2E4FLww32FzqTRPg,889
44
- chatlas/types/openai/_submit.py,sha256=ZaOGUlLBUOnMCqLeCwn97MBOAiTC2d6nM6D_0e6_fxs,6689
45
- chatlas-0.9.1.dist-info/METADATA,sha256=l_kswWgBqTYs-E3S1TDrwo8k6iaWr9obExzoXGIgL7Q,5524
46
- chatlas-0.9.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
47
- chatlas-0.9.1.dist-info/licenses/LICENSE,sha256=zyuGzPOC7CcbOaBHsQ3UEyKYRO56KDUkor0OA4LqqDg,1081
48
- chatlas-0.9.1.dist-info/RECORD,,