unique_sdk 0.10.66__py3-none-any.whl → 0.10.75__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.
unique_sdk/__init__.py CHANGED
@@ -95,6 +95,7 @@ from unique_sdk.api_resources._message_execution import (
95
95
  MessageExecution as MessageExecution,
96
96
  )
97
97
  from unique_sdk.api_resources._message_log import MessageLog as MessageLog
98
+ from unique_sdk.api_resources._elicitation import Elicitation as Elicitation
98
99
 
99
100
  # Unique QL
100
101
  from unique_sdk._unique_ql import UQLOperator as UQLOperator
@@ -43,6 +43,7 @@ class ChatCompletion(APIResource["ChatCompletion"]):
43
43
  ]
44
44
  timeout: NotRequired[Optional["int"]]
45
45
  messages: List[ChatCompletionRequestMessage]
46
+ options: NotRequired[dict]
46
47
 
47
48
  model: Literal[
48
49
  "AZURE_GPT_4_0613",
@@ -0,0 +1,248 @@
1
+ from typing import (
2
+ Any,
3
+ ClassVar,
4
+ Dict,
5
+ List,
6
+ Literal,
7
+ NotRequired,
8
+ Optional,
9
+ TypedDict,
10
+ Unpack,
11
+ cast,
12
+ )
13
+
14
+ from unique_sdk._api_resource import APIResource
15
+ from unique_sdk._request_options import RequestOptions
16
+
17
+
18
+ class Elicitation(APIResource["Elicitation"]):
19
+ OBJECT_NAME: ClassVar[Literal["elicitation"]] = "elicitation"
20
+
21
+ class CreateParams(RequestOptions):
22
+ """
23
+ Parameters for creating an elicitation request.
24
+ """
25
+
26
+ mode: Literal["FORM", "URL"]
27
+ message: str
28
+ toolName: str
29
+ schema: NotRequired[Optional[Dict[str, Any]]]
30
+ url: NotRequired[Optional[str]]
31
+ externalElicitationId: NotRequired[Optional[str]]
32
+ chatId: NotRequired[Optional[str]]
33
+ messageId: NotRequired[Optional[str]]
34
+ expiresInSeconds: NotRequired[Optional[int]]
35
+ metadata: NotRequired[Optional[Dict[str, Any]]]
36
+
37
+ class RespondParams(RequestOptions):
38
+ """
39
+ Parameters for responding to an elicitation request.
40
+ """
41
+
42
+ elicitationId: str
43
+ action: Literal["ACCEPT", "DECLINE", "CANCEL"]
44
+ content: NotRequired[Optional[Dict[str, str | int | bool | List[str]]]]
45
+
46
+ class Elicitation(TypedDict):
47
+ """
48
+ Represents an elicitation request.
49
+ """
50
+
51
+ id: str
52
+ object: str
53
+ source: str
54
+ mode: str
55
+ status: str
56
+ message: str
57
+ mcpServerId: NotRequired[Optional[str]]
58
+ toolName: NotRequired[Optional[str]]
59
+ schema: NotRequired[Optional[Dict[str, Any]]]
60
+ url: NotRequired[Optional[str]]
61
+ externalElicitationId: NotRequired[Optional[str]]
62
+ responseContent: NotRequired[Optional[Dict[str, Any]]]
63
+ respondedAt: NotRequired[Optional[str]]
64
+ companyId: str
65
+ userId: str
66
+ chatId: NotRequired[Optional[str]]
67
+ messageId: NotRequired[Optional[str]]
68
+ metadata: NotRequired[Optional[Dict[str, Any]]]
69
+ createdAt: str
70
+ updatedAt: NotRequired[Optional[str]]
71
+ expiresAt: NotRequired[Optional[str]]
72
+
73
+ class ElicitationResponseResult(TypedDict):
74
+ """
75
+ Response for responding to an elicitation request.
76
+ """
77
+
78
+ success: bool
79
+ message: NotRequired[Optional[str]]
80
+
81
+ class Elicitations(TypedDict):
82
+ """
83
+ Response for getting pending elicitations.
84
+ """
85
+
86
+ elicitations: List["Elicitation.Elicitation"]
87
+
88
+ @classmethod
89
+ def create_elicitation(
90
+ cls,
91
+ user_id: str,
92
+ company_id: str,
93
+ **params: Unpack["Elicitation.CreateParams"],
94
+ ) -> "Elicitation.Elicitation":
95
+ """
96
+ Create an elicitation request in a company.
97
+ """
98
+ return cast(
99
+ "Elicitation.Elicitation",
100
+ cls._static_request(
101
+ "post",
102
+ "/elicitation",
103
+ user_id,
104
+ company_id,
105
+ params=params,
106
+ ),
107
+ )
108
+
109
+ @classmethod
110
+ async def create_elicitation_async(
111
+ cls,
112
+ user_id: str,
113
+ company_id: str,
114
+ **params: Unpack["Elicitation.CreateParams"],
115
+ ) -> "Elicitation.Elicitation":
116
+ """
117
+ Async create an elicitation request in a company.
118
+ """
119
+ return cast(
120
+ "Elicitation.Elicitation",
121
+ await cls._static_request_async(
122
+ "post",
123
+ "/elicitation",
124
+ user_id,
125
+ company_id,
126
+ params=params,
127
+ ),
128
+ )
129
+
130
+ @classmethod
131
+ def get_pending_elicitations(
132
+ cls,
133
+ user_id: str,
134
+ company_id: str,
135
+ ) -> "Elicitation.Elicitations":
136
+ """
137
+ Get all pending elicitation requests for a user in a company.
138
+ """
139
+ return cast(
140
+ "Elicitation.Elicitations",
141
+ cls._static_request(
142
+ "get",
143
+ "/elicitation/pending",
144
+ user_id,
145
+ company_id,
146
+ ),
147
+ )
148
+
149
+ @classmethod
150
+ async def get_pending_elicitations_async(
151
+ cls,
152
+ user_id: str,
153
+ company_id: str,
154
+ ) -> "Elicitation.Elicitations":
155
+ """
156
+ Async get all pending elicitation requests for a user in a company.
157
+ """
158
+ return cast(
159
+ "Elicitation.Elicitations",
160
+ await cls._static_request_async(
161
+ "get",
162
+ "/elicitation/pending",
163
+ user_id,
164
+ company_id,
165
+ ),
166
+ )
167
+
168
+ @classmethod
169
+ def get_elicitation(
170
+ cls,
171
+ user_id: str,
172
+ company_id: str,
173
+ elicitation_id: str,
174
+ ) -> "Elicitation.Elicitation":
175
+ """
176
+ Get an elicitation request by ID in a company.
177
+ """
178
+ return cast(
179
+ "Elicitation.Elicitation",
180
+ cls._static_request(
181
+ "get",
182
+ f"/elicitation/{elicitation_id}",
183
+ user_id,
184
+ company_id,
185
+ ),
186
+ )
187
+
188
+ @classmethod
189
+ async def get_elicitation_async(
190
+ cls,
191
+ user_id: str,
192
+ company_id: str,
193
+ elicitation_id: str,
194
+ ) -> "Elicitation.Elicitation":
195
+ """
196
+ Async get an elicitation request by ID in a company.
197
+ """
198
+ return cast(
199
+ "Elicitation.Elicitation",
200
+ await cls._static_request_async(
201
+ "get",
202
+ f"/elicitation/{elicitation_id}",
203
+ user_id,
204
+ company_id,
205
+ ),
206
+ )
207
+
208
+ @classmethod
209
+ def respond_to_elicitation(
210
+ cls,
211
+ user_id: str,
212
+ company_id: str,
213
+ **params: Unpack["Elicitation.RespondParams"],
214
+ ) -> "Elicitation.ElicitationResponseResult":
215
+ """
216
+ Respond to an elicitation request in a company.
217
+ """
218
+ return cast(
219
+ "Elicitation.ElicitationResponseResult",
220
+ cls._static_request(
221
+ "post",
222
+ "/elicitation/respond",
223
+ user_id,
224
+ company_id,
225
+ params=params,
226
+ ),
227
+ )
228
+
229
+ @classmethod
230
+ async def respond_to_elicitation_async(
231
+ cls,
232
+ user_id: str,
233
+ company_id: str,
234
+ **params: Unpack["Elicitation.RespondParams"],
235
+ ) -> "Elicitation.ElicitationResponseResult":
236
+ """
237
+ Async respond to an elicitation request in a company.
238
+ """
239
+ return cast(
240
+ "Elicitation.ElicitationResponseResult",
241
+ await cls._static_request_async(
242
+ "post",
243
+ "/elicitation/respond",
244
+ user_id,
245
+ company_id,
246
+ params=params,
247
+ ),
248
+ )
@@ -36,6 +36,11 @@ class Message(APIResource["Message"]):
36
36
  sourceId: str
37
37
  source: str
38
38
 
39
+ class Correlation(TypedDict):
40
+ parentMessageId: str
41
+ parentChatId: str
42
+ parentAssistantId: str
43
+
39
44
  class CreateParams(RequestOptions):
40
45
  chatId: str
41
46
  assistantId: str
@@ -44,6 +49,7 @@ class Message(APIResource["Message"]):
44
49
  references: Optional[List["Message.Reference"]]
45
50
  debugInfo: Optional[Dict[str, Any]]
46
51
  completedAt: Optional[datetime]
52
+ correlation: NotRequired[Optional["Message.Correlation"]]
47
53
 
48
54
  class ModifyParams(RequestOptions):
49
55
  chatId: str
@@ -20,6 +20,9 @@ class MessageExecution(APIResource["MessageExecution"]):
20
20
 
21
21
  messageId: str
22
22
  type: "MessageExecution.TypeLiteral"
23
+ isQueueable: NotRequired[bool | None]
24
+ executionOptions: NotRequired[dict | None]
25
+ progressTitle: NotRequired[str | None]
23
26
 
24
27
  class GetMessageExecutionParams(RequestOptions):
25
28
  """
@@ -37,6 +40,7 @@ class MessageExecution(APIResource["MessageExecution"]):
37
40
  status: NotRequired["MessageExecution.UpdateStatusLiteral | None"]
38
41
  secondsRemaining: NotRequired[int | None]
39
42
  percentageCompleted: NotRequired[int | None]
43
+ progressTitle: NotRequired[str | None]
40
44
 
41
45
  id: str
42
46
  messageId: str
@@ -44,6 +48,9 @@ class MessageExecution(APIResource["MessageExecution"]):
44
48
  type: "MessageExecution.TypeLiteral"
45
49
  secondsRemaining: int | None
46
50
  percentageCompleted: int | None
51
+ isQueueable: bool
52
+ executionOptions: dict | None
53
+ progressTitle: str | None
47
54
  positionInQueue: int | None
48
55
  createdAt: str
49
56
  updatedAt: str
@@ -10,7 +10,7 @@ class Search(APIResource["Search"]):
10
10
  class CreateParams(RequestOptions):
11
11
  chatId: NotRequired[Optional[str]]
12
12
  searchString: str
13
- searchType: Literal["VECTOR", "COMBINED"]
13
+ searchType: Literal["VECTOR", "COMBINED", "FULL_TEXT", "POSTGRES_FULL_TEXT"]
14
14
  language: NotRequired[Optional[str]]
15
15
  reranker: NotRequired[Optional[dict[str, Any]]]
16
16
  scopeIds: NotRequired[Optional[list[str]]]
@@ -55,6 +55,11 @@ class Space(APIResource["Space"]):
55
55
  class DeleteSpaceAccessParams(RequestOptions):
56
56
  accessIds: List[str]
57
57
 
58
+ class Correlation(TypedDict):
59
+ parentMessageId: str
60
+ parentChatId: str
61
+ parentAssistantId: str
62
+
58
63
  class CreateMessageParams(RequestOptions):
59
64
  """
60
65
  Parameters for querying the assistant for a message.
@@ -65,6 +70,7 @@ class Space(APIResource["Space"]):
65
70
  text: NotRequired[str | None]
66
71
  toolChoices: NotRequired[List[str] | None]
67
72
  scopeRules: NotRequired[dict | None]
73
+ correlation: NotRequired["Space.Correlation | None"]
68
74
 
69
75
  class GetChatMessagesParams(RequestOptions):
70
76
  """
@@ -198,6 +204,9 @@ class Space(APIResource["Space"]):
198
204
  class DeleteSpaceAccessResponse(TypedDict):
199
205
  success: bool
200
206
 
207
+ class DeleteSpaceResponse(TypedDict):
208
+ id: str
209
+
201
210
  id: str
202
211
  name: str
203
212
  defaultForCompanyId: Optional[str]
@@ -570,3 +579,43 @@ class Space(APIResource["Space"]):
570
579
  params=params,
571
580
  ),
572
581
  )
582
+
583
+ @classmethod
584
+ def delete_space(
585
+ cls,
586
+ user_id: str,
587
+ company_id: str,
588
+ space_id: str,
589
+ ) -> "Space.DeleteSpaceResponse":
590
+ """
591
+ Delete a space.
592
+ """
593
+ return cast(
594
+ "Space.DeleteSpaceResponse",
595
+ cls._static_request(
596
+ "delete",
597
+ f"/space/{space_id}",
598
+ user_id,
599
+ company_id,
600
+ ),
601
+ )
602
+
603
+ @classmethod
604
+ async def delete_space_async(
605
+ cls,
606
+ user_id: str,
607
+ company_id: str,
608
+ space_id: str,
609
+ ) -> "Space.DeleteSpaceResponse":
610
+ """
611
+ Async delete a space.
612
+ """
613
+ return cast(
614
+ "Space.DeleteSpaceResponse",
615
+ await cls._static_request_async(
616
+ "delete",
617
+ f"/space/{space_id}",
618
+ user_id,
619
+ company_id,
620
+ ),
621
+ )
@@ -21,6 +21,7 @@ async def send_message_and_wait_for_completion(
21
21
  poll_interval: float = 1.0,
22
22
  max_wait: float = 60.0,
23
23
  stop_condition: Literal["stoppedStreamingAt", "completedAt"] = "stoppedStreamingAt",
24
+ correlation: "Space.Correlation | None" = None,
24
25
  ) -> "Space.Message":
25
26
  """
26
27
  Sends a prompt asynchronously and polls for completion. (until stoppedStreamingAt is not None)
@@ -30,10 +31,14 @@ async def send_message_and_wait_for_completion(
30
31
  company_id: The company ID.
31
32
  assistant_id: The assistant ID.
32
33
  text: The prompt text.
34
+ tool_choices: List of tool names to use.
35
+ scope_rules: Scope rules for filtering content.
36
+ chat_id: Optional chat ID to continue an existing chat.
33
37
  poll_interval: Seconds between polls.
34
38
  max_wait: Maximum seconds to wait for completion.
35
39
  stop_condition: Defines when to expect a response back, when the assistant stop streaming or when it completes the message. (default: "stoppedStreamingAt")
36
- **kwargs: Additional parameters for the prompt.
40
+ correlation: Optional correlation data to link this message to a parent message in another chat.
41
+ Should contain: parentMessageId, parentChatId, parentAssistantId.
37
42
 
38
43
  Returns:
39
44
  The completed Space.Message.
@@ -46,6 +51,7 @@ async def send_message_and_wait_for_completion(
46
51
  text=text,
47
52
  toolChoices=tool_choices,
48
53
  scopeRules=scope_rules,
54
+ correlation=correlation,
49
55
  )
50
56
  chat_id = response.get("chatId")
51
57
  message_id = response.get("id")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: unique_sdk
3
- Version: 0.10.66
3
+ Version: 0.10.75
4
4
  Summary:
5
5
  License: MIT
6
6
  Author: Martin Fadler
@@ -11,8 +11,13 @@ Classifier: Programming Language :: Python :: 3
11
11
  Classifier: Programming Language :: Python :: 3.11
12
12
  Classifier: Programming Language :: Python :: 3.12
13
13
  Provides-Extra: openai
14
+ Requires-Dist: aiohttp (>=3.9.0,<4.0.0)
15
+ Requires-Dist: anyio (>=4.0.0,<5.0.0)
16
+ Requires-Dist: httpx (>=0.28.0,<0.29.0)
14
17
  Requires-Dist: openai (>=1.105.0,<2.0.0) ; extra == "openai"
18
+ Requires-Dist: regex (>=2024.5.15,<2025.0.0)
15
19
  Requires-Dist: requests (>=2.32.3,<3.0.0)
20
+ Requires-Dist: tiktoken (>=0.12.0,<0.13.0)
16
21
  Requires-Dist: typing-extensions (>=4.9.0,<5.0.0)
17
22
  Description-Content-Type: text/markdown
18
23
 
@@ -28,6 +33,34 @@ All notable changes to this project will be documented in this file.
28
33
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
29
34
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
30
35
 
36
+ ## [0.10.75] - 2026-02-02
37
+ - Add correlation parameter to Message.create for linking messages to parent messages in other chats.
38
+ - Add correlation parameter to Space.create_message and send_message_and_wait_for_completion utility.
39
+
40
+ ## [0.10.74] - 2026-01-22
41
+ - Add delete space function.
42
+
43
+ ## [0.10.73] - 2026-01-21
44
+ - added searchtype `FULL_TEXT` and `POSTGRES_FULL_TEXT`
45
+
46
+ ## [0.10.72] - 2026-01-20
47
+ - Expose elicitation functions [BETA feature].
48
+
49
+ ## [0.10.71] - 2026-01-16
50
+ - Add local CI testing commands via poethepoet (poe lint, poe test, poe ci-typecheck, etc.)
51
+
52
+ ## [0.10.70] - 2026-01-13
53
+ - Adding additional parameters `isQueueable`, `executionOptions` and `progressTitle` to the message execution
54
+
55
+ ## [0.10.69] - 2026-01-16
56
+ - Add unified type checking CI with basedpyright
57
+
58
+ ## [0.10.68] - 2026-01-13
59
+ - Add missing direct dependencies (httpx, anyio, aiohttp, regex, tiktoken) for deptry compliance
60
+
61
+ ## [0.10.67] - 2026-01-14
62
+ - chore(deps): bump requests from 2.31.0 to 2.32.4 in examples/custom-assistant
63
+
31
64
  ## [0.10.66] - 2026-01-05
32
65
  - Expose appliedIngestionConfig field on content search.
33
66
 
@@ -1,4 +1,4 @@
1
- unique_sdk/__init__.py,sha256=yfrzJ2M36Ota9-eohCxD-rmvfthh_eI3E3Jz_DPqiqs,4204
1
+ unique_sdk/__init__.py,sha256=WqIkIYrEmUxsNCO5B5Nm6bFbbVaL_QLmcFarK4zAYsQ,4281
2
2
  unique_sdk/_api_requestor.py,sha256=i4gCpzx8zP95sv-AhJfpQxKvWR0U-I6lclHyV55RPtg,14397
3
3
  unique_sdk/_api_resource.py,sha256=ytjomI-IVJwsbvdPyuZCfF-bl-Abgf66bu1D34YxCu8,6244
4
4
  unique_sdk/_api_version.py,sha256=Ku4JPdeyJtnX5eJJvRCEc1_u44UObdVrvrL1T-WwWCs,46
@@ -16,8 +16,9 @@ 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=omdF4vbGCsjuQpPhuMUwaaGAb9nXscEUZsqUz3cz2AY,10353
19
- unique_sdk/api_resources/_chat_completion.py,sha256=ILCAffxkbkfh2iV9L4KKnfe80gZmT9pWfkNmf3mq68U,2172
19
+ unique_sdk/api_resources/_chat_completion.py,sha256=clTqSglg8x0liom0NTVce-gjam2SIxFgX8OrMeEBwpw,2207
20
20
  unique_sdk/api_resources/_content.py,sha256=UNHsEIOyNVx5VFtv7n4MeXBxSyAW53vagUHMA5_Udec,19849
21
+ unique_sdk/api_resources/_elicitation.py,sha256=3VrYE__xVOYkTqR65hxVMYvHzRyBRLg0hu9wczV8xMk,6719
21
22
  unique_sdk/api_resources/_embedding.py,sha256=C6qak7cCUBMBINfPhgH8taCJZ9n6w1MUElqDJJ8dG10,1281
22
23
  unique_sdk/api_resources/_event.py,sha256=bpWF9vstdoAWbUzr-iiGP713ceP0zPk77GJXiImf9zg,374
23
24
  unique_sdk/api_resources/_folder.py,sha256=h7f1NhTlC-pW9uAEMFw78vTpim_ctvRGB5rzcc-L87E,21553
@@ -25,21 +26,21 @@ unique_sdk/api_resources/_group.py,sha256=8A8mSjhWuhFxBA2r_z7q-70miJ_ugz7NAffVwb
25
26
  unique_sdk/api_resources/_integrated.py,sha256=TxEKSYQZjZezBUk6kUgLvCgqgZXvgZR2IqHLieapKwQ,6204
26
27
  unique_sdk/api_resources/_llm_models.py,sha256=3Jn6MpxWgZ43Hze8JHd4_n27si5xmwd3JE8r8cEZq_M,1640
27
28
  unique_sdk/api_resources/_mcp.py,sha256=_kWSn4Awvd7vtopbYM3YKhV5-Xrz5h_LBlahmWlKx3U,3384
28
- unique_sdk/api_resources/_message.py,sha256=wqPH3FdzutHLQXFErAzQYOddoeeE4jEBJr7yrPFYEHo,10986
29
+ unique_sdk/api_resources/_message.py,sha256=3GSL0DZ3OoWjraCiGmgxV5rsFXiGN5MXyN0EQi5huME,11173
29
30
  unique_sdk/api_resources/_message_assessment.py,sha256=SSfx6eW7zb_GKe8cFJzCqW-t-_eWEXxKP5cnIb0DhIc,2276
30
- unique_sdk/api_resources/_message_execution.py,sha256=7V_Qovu4vzoXDd2em0AgnAJC460RUX6AE4byztNPlvg,4556
31
+ unique_sdk/api_resources/_message_execution.py,sha256=B7gMisim5iJa8zzDRplIPAULrUd56S64GOltOV7z0sc,4833
31
32
  unique_sdk/api_resources/_message_log.py,sha256=_DifZ4Di7uKyzkP0i8rwu5IIiYZPCBp5lvE4gfTrTHw,4793
32
- unique_sdk/api_resources/_search.py,sha256=GQItZKoGNOVZfkLLltBmsRZYBIreRKU0lGW8Kgpj1_Q,1959
33
+ unique_sdk/api_resources/_search.py,sha256=pEFowMjsKV4XgZkVB9MLkXaQkEUVQoDnIVQJLLJPaX0,1994
33
34
  unique_sdk/api_resources/_search_string.py,sha256=LZz2_QPZXV1NXucRR06dnDC2miK7J8XBY7dXX2xoDY4,1610
34
35
  unique_sdk/api_resources/_short_term_memory.py,sha256=vPRN-Y0WPx74E6y-A3LocGc0TxJdzT-xGL66WzZwKRg,2820
35
- unique_sdk/api_resources/_space.py,sha256=bIeR2IOba2Nzzz4HP15dDEXe50mx7gh9GfatDxwNGXo,14598
36
+ unique_sdk/api_resources/_space.py,sha256=bMOKH5Pq38yBSHDdHD_EoIUANE9u5JzPdEYv-n6lUcA,15761
36
37
  unique_sdk/api_resources/_user.py,sha256=XGlE3SDtv-0qs9boT-ts6F2Cxq8RXAT5OCrvY5nOCx8,4677
37
38
  unique_sdk/utils/chat_history.py,sha256=5UqL9hF1O9pV7skbNOlEibF5rHdYsmG3m5-YEPUowOs,3037
38
- unique_sdk/utils/chat_in_space.py,sha256=mBH4W-Jb8wgGCYV3m12LvoLjTE56xdwUTC-ghMupkSs,5889
39
+ unique_sdk/utils/chat_in_space.py,sha256=QP6YD_XN2ZD2FGVEfatWrjRWJictK1EY9PV9gpWqHuM,6270
39
40
  unique_sdk/utils/file_io.py,sha256=z0VdAOtrkU-tMq2v-nogeHtBku3TtnM5eJDHAR6A0-w,5721
40
41
  unique_sdk/utils/sources.py,sha256=DoxxhMLcLhmDfNarjXa41H4JD2GSSDywr71hiC-4pYc,4952
41
42
  unique_sdk/utils/token.py,sha256=AzKuAA1AwBtnvSFxGcsHLpxXr_wWE5Mj4jYBbOz2ljA,1740
42
- unique_sdk-0.10.66.dist-info/LICENSE,sha256=EJCWoHgrXVBUb47PnjeV4MFIEOR71MAdCOIgv61J-4k,1065
43
- unique_sdk-0.10.66.dist-info/METADATA,sha256=4Zwcojlig85QRkLXRDTVFiUqPk1R1cQZ4sGoc7SwFM0,11458
44
- unique_sdk-0.10.66.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
45
- unique_sdk-0.10.66.dist-info/RECORD,,
43
+ unique_sdk-0.10.75.dist-info/LICENSE,sha256=EJCWoHgrXVBUb47PnjeV4MFIEOR71MAdCOIgv61J-4k,1065
44
+ unique_sdk-0.10.75.dist-info/METADATA,sha256=AMPZbmkiSU09sjsO8odO7FhQC-sciT-dQ1SxSfIrNmo,12671
45
+ unique_sdk-0.10.75.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
46
+ unique_sdk-0.10.75.dist-info/RECORD,,