unique_sdk 0.10.20__py3-none-any.whl → 0.10.21__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.
@@ -1,10 +1,13 @@
1
1
  from typing import (
2
+ Any,
2
3
  ClassVar,
4
+ Dict,
3
5
  List,
4
6
  Literal,
5
7
  NotRequired,
6
8
  Optional,
7
9
  TypedDict,
10
+ Union,
8
11
  Unpack,
9
12
  cast,
10
13
  )
@@ -34,6 +37,51 @@ class ChatCompletionChoicesInner(TypedDict):
34
37
  class ChatCompletion(APIResource["ChatCompletion"]):
35
38
  OBJECT_NAME: ClassVar[Literal["openai.chat.completion"]] = "openai.chat.completion"
36
39
 
40
+ class FunctionDefinition(TypedDict, total=False):
41
+ name: str
42
+ description: Optional[str]
43
+ parameters: Optional[Dict[str, Any]]
44
+
45
+ class ChatCompletionsFunctionToolDefinition(TypedDict):
46
+ type: Literal["function"]
47
+ function: "ChatCompletion.FunctionDefinition"
48
+
49
+ class FunctionName(TypedDict):
50
+ name: str
51
+
52
+ class ChatCompletionsNamedFunctionToolSelectionName(TypedDict):
53
+ name: str
54
+
55
+ class ChatCompletionsNamedFunctionToolSelection(TypedDict):
56
+ type: Literal["function"]
57
+ function: "ChatCompletion.ChatCompletionsNamedFunctionToolSelectionName"
58
+
59
+ class ChatCompletionsTextResponseFormat(TypedDict, total=False):
60
+ type: Literal["text", "json_schema"]
61
+ json_schema: dict
62
+
63
+ class Options(TypedDict, total=False):
64
+ functions: NotRequired[List["ChatCompletion.FunctionDefinition"]]
65
+ reasoningEffort: NotRequired[Literal["low", "medium", "high", None]]
66
+ functionCall: NotRequired[
67
+ Union[Literal["auto", "none"], "ChatCompletion.FunctionName"]
68
+ ]
69
+ maxTokens: NotRequired[int]
70
+ temperature: NotRequired[float]
71
+ topP: NotRequired[float]
72
+ logitBias: NotRequired[Dict[str, float]]
73
+ user: NotRequired[str]
74
+ n: NotRequired[int]
75
+ stop: NotRequired[List[str]]
76
+ presencePenalty: NotRequired[float]
77
+ frequencyPenalty: NotRequired[float]
78
+ seed: NotRequired[int]
79
+ responseFormat: NotRequired["ChatCompletion.ChatCompletionsTextResponseFormat"]
80
+ tools: NotRequired[List["ChatCompletion.ChatCompletionsFunctionToolDefinition"]]
81
+ toolChoice: NotRequired[
82
+ "ChatCompletion.ChatCompletionsNamedFunctionToolSelection"
83
+ ]
84
+
37
85
  class CreateParams(RequestOptions):
38
86
  model: NotRequired[
39
87
  Literal[
@@ -43,6 +91,7 @@ class ChatCompletion(APIResource["ChatCompletion"]):
43
91
  ]
44
92
  timeout: NotRequired[Optional["int"]]
45
93
  messages: List[ChatCompletionRequestMessage]
94
+ options: NotRequired["ChatCompletion.Options"]
46
95
 
47
96
  model: Literal[
48
97
  "AZURE_GPT_4_0613",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: unique_sdk
3
- Version: 0.10.20
3
+ Version: 0.10.21
4
4
  Summary:
5
5
  License: MIT
6
6
  Author: Martin Fadler
@@ -791,8 +791,9 @@ chat_completion = unique_sdk.ChatCompletion.create(
791
791
  {"role": "user", "content": "Hello!"},
792
792
  ],
793
793
  options={
794
- "temperature": 0.5
795
- } # optional
794
+ "temperature": 0.5, # optional
795
+ "reasoningEffort": "low", # optional
796
+ } # optional
796
797
  )
797
798
  ```
798
799
 
@@ -1577,6 +1578,9 @@ All notable changes to this project will be documented in this file.
1577
1578
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
1578
1579
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
1579
1580
 
1581
+ ## [0.10.21] - 2025-09-04
1582
+ - Update Chat Completions API types and add support for reasoning effort.
1583
+
1580
1584
  ## [0.10.20] - 2025-09-04
1581
1585
  - Update Responses API types
1582
1586
 
@@ -16,7 +16,7 @@ unique_sdk/_webhook.py,sha256=GYxbUibQN_W4XlNTHaMIksT9FQJk4LJmlKcxOu3jqiU,2855
16
16
  unique_sdk/api_resources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
17
17
  unique_sdk/api_resources/_acronyms.py,sha256=GIU1XH1flGWQYcpsFqTYwg4ioIGxVmb15tux84nmhEg,891
18
18
  unique_sdk/api_resources/_agentic_table.py,sha256=8-_f7t-m_iiiOj2835iESoxz91YRxl4-tkxpzQbgdcI,9958
19
- unique_sdk/api_resources/_chat_completion.py,sha256=ILCAffxkbkfh2iV9L4KKnfe80gZmT9pWfkNmf3mq68U,2172
19
+ unique_sdk/api_resources/_chat_completion.py,sha256=dEaTPfTxAXAuLODt6b5c0N4pVzcqbSqKhMoSILnPEVU,4000
20
20
  unique_sdk/api_resources/_content.py,sha256=Vi-wZ-T5f-OqBGXkA3B9dALoFHer5F8LAQlc5x6pcls,14109
21
21
  unique_sdk/api_resources/_embedding.py,sha256=C6qak7cCUBMBINfPhgH8taCJZ9n6w1MUElqDJJ8dG10,1281
22
22
  unique_sdk/api_resources/_event.py,sha256=bpWF9vstdoAWbUzr-iiGP713ceP0zPk77GJXiImf9zg,374
@@ -36,7 +36,7 @@ unique_sdk/utils/chat_in_space.py,sha256=NrH9e2lvXtj_oePG0RWUqFoTanMblF8-VgtnVfs
36
36
  unique_sdk/utils/file_io.py,sha256=YY8B7VJcTLOPmCXByiOfNerXGlAtjCC5EVNmAbQJ3dQ,4306
37
37
  unique_sdk/utils/sources.py,sha256=DoxxhMLcLhmDfNarjXa41H4JD2GSSDywr71hiC-4pYc,4952
38
38
  unique_sdk/utils/token.py,sha256=AzKuAA1AwBtnvSFxGcsHLpxXr_wWE5Mj4jYBbOz2ljA,1740
39
- unique_sdk-0.10.20.dist-info/LICENSE,sha256=EJCWoHgrXVBUb47PnjeV4MFIEOR71MAdCOIgv61J-4k,1065
40
- unique_sdk-0.10.20.dist-info/METADATA,sha256=mbVWlT-JFrSvRV5W7AjWT3a1HoZvlnvbReiu_f1HMpI,54588
41
- unique_sdk-0.10.20.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
42
- unique_sdk-0.10.20.dist-info/RECORD,,
39
+ unique_sdk-0.10.21.dist-info/LICENSE,sha256=EJCWoHgrXVBUb47PnjeV4MFIEOR71MAdCOIgv61J-4k,1065
40
+ unique_sdk-0.10.21.dist-info/METADATA,sha256=Jr1CrOl2dawLrTd5MOW1laApnhRwoGugtWlelMc1Q1w,54756
41
+ unique_sdk-0.10.21.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
42
+ unique_sdk-0.10.21.dist-info/RECORD,,