aidial-client 0.8.0.dev3__tar.gz → 0.9.0.dev1__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.
- {aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/PKG-INFO +31 -1
- {aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/README.md +30 -0
- {aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/_http_client/_base.py +1 -1
- {aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/resources/files.py +80 -0
- {aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/pyproject.toml +1 -1
- {aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/LICENSE +0 -0
- {aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/__init__.py +0 -0
- {aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/_auth.py +0 -0
- {aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/_client.py +0 -0
- {aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/_client_pool.py +0 -0
- {aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/_compatibility/__init__.py +0 -0
- {aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/_compatibility/openai.py +0 -0
- {aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/_compatibility/pydantic.py +0 -0
- {aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/_compatibility/pydantic_v1.py +0 -0
- {aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/_constants.py +0 -0
- {aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/_exception.py +0 -0
- {aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/_http_client/__init__.py +0 -0
- {aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/_http_client/_async.py +0 -0
- {aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/_http_client/_sync.py +0 -0
- {aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/_internal_types/__init__.py +0 -0
- {aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/_internal_types/_defaults.py +0 -0
- {aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/_internal_types/_generic.py +0 -0
- {aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/_internal_types/_http_request.py +0 -0
- {aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/_internal_types/_model.py +0 -0
- {aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/_log.py +0 -0
- {aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/_utils/__init__.py +0 -0
- {aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/_utils/_alias.py +0 -0
- {aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/_utils/_dict.py +0 -0
- {aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/_utils/_openai.py +0 -0
- {aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/_utils/_response_processing.py +0 -0
- {aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/_utils/_type_guard.py +0 -0
- {aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/helpers/__init__.py +0 -0
- {aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/helpers/_url.py +0 -0
- {aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/helpers/storage_resource.py +0 -0
- {aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/py.typed +0 -0
- {aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/resources/__init__.py +0 -0
- {aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/resources/application.py +0 -0
- {aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/resources/base.py +0 -0
- {aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/resources/bucket.py +0 -0
- {aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/resources/chat/__init__.py +0 -0
- {aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/resources/chat/completions.py +0 -0
- {aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/resources/deployments.py +0 -0
- {aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/resources/metadata.py +0 -0
- {aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/resources/model.py +0 -0
- {aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/resources/prompts.py +0 -0
- {aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/resources/resource_permissions.py +0 -0
- {aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/resources/toolset.py +0 -0
- {aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/types/__init__.py +0 -0
- {aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/types/application.py +0 -0
- {aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/types/bucket.py +0 -0
- {aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/types/chat/__init__.py +0 -0
- {aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/types/chat/addon.py +0 -0
- {aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/types/chat/function.py +0 -0
- {aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/types/chat/legacy/__init__.py +0 -0
- {aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/types/chat/legacy/application_request.py +0 -0
- {aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/types/chat/legacy/chat_completion.py +0 -0
- {aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/types/chat/request.py +0 -0
- {aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/types/chat/request_param.py +0 -0
- {aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/types/chat/response.py +0 -0
- {aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/types/chat/tool.py +0 -0
- {aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/types/deployment.py +0 -0
- {aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/types/file.py +0 -0
- {aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/types/metadata.py +0 -0
- {aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/types/model.py +0 -0
- {aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/types/prompt.py +0 -0
- {aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/types/toolset.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: aidial-client
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.9.0.dev1
|
|
4
4
|
Summary: A Python client library for the AI DIAL API
|
|
5
5
|
License-Expression: Apache-2.0
|
|
6
6
|
License-File: LICENSE
|
|
@@ -552,6 +552,36 @@ await async_client.files.delete(
|
|
|
552
552
|
)
|
|
553
553
|
```
|
|
554
554
|
|
|
555
|
+
#### Moving and Copying Files
|
|
556
|
+
|
|
557
|
+
Use `move_to()` to relocate a file within DIAL storage and `copy_to()` to duplicate it. Both accept the same `source` / `destination` URLs (relative, absolute, or `PurePosixPath`) and an optional `overwrite` flag (default `False`):
|
|
558
|
+
|
|
559
|
+
```python
|
|
560
|
+
# Sync client
|
|
561
|
+
sync_client.files.move_to(
|
|
562
|
+
source=sync_client.my_files_home() / "draft/my-file.txt",
|
|
563
|
+
destination=sync_client.my_files_home() / "final/my-file.txt",
|
|
564
|
+
)
|
|
565
|
+
sync_client.files.copy_to(
|
|
566
|
+
source=sync_client.my_files_home() / "final/my-file.txt",
|
|
567
|
+
destination=sync_client.my_files_home() / "backup/my-file.txt",
|
|
568
|
+
overwrite=True,
|
|
569
|
+
)
|
|
570
|
+
|
|
571
|
+
# Async client
|
|
572
|
+
await async_client.files.move_to(
|
|
573
|
+
source=await async_client.my_files_home() / "draft/my-file.txt",
|
|
574
|
+
destination=await async_client.my_files_home() / "final/my-file.txt",
|
|
575
|
+
)
|
|
576
|
+
await async_client.files.copy_to(
|
|
577
|
+
source=await async_client.my_files_home() / "final/my-file.txt",
|
|
578
|
+
destination=await async_client.my_files_home() / "backup/my-file.txt",
|
|
579
|
+
overwrite=True,
|
|
580
|
+
)
|
|
581
|
+
```
|
|
582
|
+
|
|
583
|
+
Both methods return `None` on success. `source` and `destination` must point to files in the same DIAL storage (passing a `prompts/...` URL raises `InvalidDialURLError`).
|
|
584
|
+
|
|
555
585
|
#### Accessing Metadata
|
|
556
586
|
|
|
557
587
|
Use `metadata()` to access metadata of a file:
|
|
@@ -530,6 +530,36 @@ await async_client.files.delete(
|
|
|
530
530
|
)
|
|
531
531
|
```
|
|
532
532
|
|
|
533
|
+
#### Moving and Copying Files
|
|
534
|
+
|
|
535
|
+
Use `move_to()` to relocate a file within DIAL storage and `copy_to()` to duplicate it. Both accept the same `source` / `destination` URLs (relative, absolute, or `PurePosixPath`) and an optional `overwrite` flag (default `False`):
|
|
536
|
+
|
|
537
|
+
```python
|
|
538
|
+
# Sync client
|
|
539
|
+
sync_client.files.move_to(
|
|
540
|
+
source=sync_client.my_files_home() / "draft/my-file.txt",
|
|
541
|
+
destination=sync_client.my_files_home() / "final/my-file.txt",
|
|
542
|
+
)
|
|
543
|
+
sync_client.files.copy_to(
|
|
544
|
+
source=sync_client.my_files_home() / "final/my-file.txt",
|
|
545
|
+
destination=sync_client.my_files_home() / "backup/my-file.txt",
|
|
546
|
+
overwrite=True,
|
|
547
|
+
)
|
|
548
|
+
|
|
549
|
+
# Async client
|
|
550
|
+
await async_client.files.move_to(
|
|
551
|
+
source=await async_client.my_files_home() / "draft/my-file.txt",
|
|
552
|
+
destination=await async_client.my_files_home() / "final/my-file.txt",
|
|
553
|
+
)
|
|
554
|
+
await async_client.files.copy_to(
|
|
555
|
+
source=await async_client.my_files_home() / "final/my-file.txt",
|
|
556
|
+
destination=await async_client.my_files_home() / "backup/my-file.txt",
|
|
557
|
+
overwrite=True,
|
|
558
|
+
)
|
|
559
|
+
```
|
|
560
|
+
|
|
561
|
+
Both methods return `None` on success. `source` and `destination` must point to files in the same DIAL storage (passing a `prompts/...` URL raises `InvalidDialURLError`).
|
|
562
|
+
|
|
533
563
|
#### Accessing Metadata
|
|
534
564
|
|
|
535
565
|
Use `metadata()` to access metadata of a file:
|
|
@@ -51,7 +51,7 @@ class BaseHTTPClient(ABC, Generic[_HttpInternalClientT, AuthValueT]):
|
|
|
51
51
|
merge_raw_path = (
|
|
52
52
|
self.base_url.raw_path + parsed_url.raw_path.lstrip(b"/")
|
|
53
53
|
)
|
|
54
|
-
return self.base_url.copy_with(raw_path=merge_raw_path
|
|
54
|
+
return self.base_url.copy_with(raw_path=merge_raw_path)
|
|
55
55
|
return parsed_url
|
|
56
56
|
|
|
57
57
|
def _build_request(
|
|
@@ -109,6 +109,46 @@ class Files(Resource, DialStorageResourceMixin):
|
|
|
109
109
|
on_http_error=_files_error_processor,
|
|
110
110
|
)
|
|
111
111
|
|
|
112
|
+
def move_to(
|
|
113
|
+
self,
|
|
114
|
+
source: Union[str, PurePosixPath],
|
|
115
|
+
destination: Union[str, PurePosixPath],
|
|
116
|
+
overwrite: bool = False,
|
|
117
|
+
) -> None:
|
|
118
|
+
return self.http_client.request(
|
|
119
|
+
cast_to=NoneType,
|
|
120
|
+
options=FinalRequestOptions(
|
|
121
|
+
method="POST",
|
|
122
|
+
url=urljoin(API_PREFIX, "ops/resource/move"),
|
|
123
|
+
json_data={
|
|
124
|
+
"sourceUrl": self.get_api_path(str(source)),
|
|
125
|
+
"destinationUrl": self.get_api_path(str(destination)),
|
|
126
|
+
"overwrite": overwrite,
|
|
127
|
+
},
|
|
128
|
+
),
|
|
129
|
+
on_http_error=_files_error_processor,
|
|
130
|
+
)
|
|
131
|
+
|
|
132
|
+
def copy_to(
|
|
133
|
+
self,
|
|
134
|
+
source: Union[str, PurePosixPath],
|
|
135
|
+
destination: Union[str, PurePosixPath],
|
|
136
|
+
overwrite: bool = False,
|
|
137
|
+
) -> None:
|
|
138
|
+
return self.http_client.request(
|
|
139
|
+
cast_to=NoneType,
|
|
140
|
+
options=FinalRequestOptions(
|
|
141
|
+
method="POST",
|
|
142
|
+
url=urljoin(API_PREFIX, "ops/resource/copy"),
|
|
143
|
+
json_data={
|
|
144
|
+
"sourceUrl": self.get_api_path(str(source)),
|
|
145
|
+
"destinationUrl": self.get_api_path(str(destination)),
|
|
146
|
+
"overwrite": overwrite,
|
|
147
|
+
},
|
|
148
|
+
),
|
|
149
|
+
on_http_error=_files_error_processor,
|
|
150
|
+
)
|
|
151
|
+
|
|
112
152
|
def get_metadata(self, url: Union[str, PurePosixPath]) -> FileMetadata:
|
|
113
153
|
return self.metadata.get(
|
|
114
154
|
resource="files",
|
|
@@ -188,6 +228,46 @@ class AsyncFiles(AsyncResource, DialStorageResourceMixin):
|
|
|
188
228
|
on_http_error=_files_error_processor,
|
|
189
229
|
)
|
|
190
230
|
|
|
231
|
+
async def move_to(
|
|
232
|
+
self,
|
|
233
|
+
source: Union[str, PurePosixPath],
|
|
234
|
+
destination: Union[str, PurePosixPath],
|
|
235
|
+
overwrite: bool = False,
|
|
236
|
+
) -> None:
|
|
237
|
+
return await self.http_client.request(
|
|
238
|
+
cast_to=NoneType,
|
|
239
|
+
options=FinalRequestOptions(
|
|
240
|
+
method="POST",
|
|
241
|
+
url=urljoin(API_PREFIX, "ops/resource/move"),
|
|
242
|
+
json_data={
|
|
243
|
+
"sourceUrl": self.get_api_path(str(source)),
|
|
244
|
+
"destinationUrl": self.get_api_path(str(destination)),
|
|
245
|
+
"overwrite": overwrite,
|
|
246
|
+
},
|
|
247
|
+
),
|
|
248
|
+
on_http_error=_files_error_processor,
|
|
249
|
+
)
|
|
250
|
+
|
|
251
|
+
async def copy_to(
|
|
252
|
+
self,
|
|
253
|
+
source: Union[str, PurePosixPath],
|
|
254
|
+
destination: Union[str, PurePosixPath],
|
|
255
|
+
overwrite: bool = False,
|
|
256
|
+
) -> None:
|
|
257
|
+
return await self.http_client.request(
|
|
258
|
+
cast_to=NoneType,
|
|
259
|
+
options=FinalRequestOptions(
|
|
260
|
+
method="POST",
|
|
261
|
+
url=urljoin(API_PREFIX, "ops/resource/copy"),
|
|
262
|
+
json_data={
|
|
263
|
+
"sourceUrl": self.get_api_path(str(source)),
|
|
264
|
+
"destinationUrl": self.get_api_path(str(destination)),
|
|
265
|
+
"overwrite": overwrite,
|
|
266
|
+
},
|
|
267
|
+
),
|
|
268
|
+
on_http_error=_files_error_processor,
|
|
269
|
+
)
|
|
270
|
+
|
|
191
271
|
async def get_metadata(
|
|
192
272
|
self, url: Union[str, PurePosixPath]
|
|
193
273
|
) -> FileMetadata:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/_compatibility/__init__.py
RENAMED
|
File without changes
|
{aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/_compatibility/openai.py
RENAMED
|
File without changes
|
{aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/_compatibility/pydantic.py
RENAMED
|
File without changes
|
{aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/_compatibility/pydantic_v1.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/_http_client/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/_internal_types/__init__.py
RENAMED
|
File without changes
|
{aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/_internal_types/_defaults.py
RENAMED
|
File without changes
|
{aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/_internal_types/_generic.py
RENAMED
|
File without changes
|
{aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/_internal_types/_http_request.py
RENAMED
|
File without changes
|
{aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/_internal_types/_model.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/_utils/_response_processing.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/helpers/storage_resource.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/resources/application.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/resources/chat/__init__.py
RENAMED
|
File without changes
|
{aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/resources/chat/completions.py
RENAMED
|
File without changes
|
{aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/resources/deployments.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
|
{aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/types/chat/legacy/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aidial_client-0.8.0.dev3 → aidial_client-0.9.0.dev1}/aidial_client/types/chat/request_param.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
|