aidial-client 0.18.0.dev3__tar.gz → 0.18.0.dev5__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 (73) hide show
  1. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/PKG-INFO +25 -1
  2. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/README.md +24 -0
  3. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/aidial_client/resources/deployments.py +46 -1
  4. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/aidial_client/types/deployment.py +8 -0
  5. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/pyproject.toml +1 -1
  6. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/LICENSE +0 -0
  7. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/aidial_client/__init__.py +0 -0
  8. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/aidial_client/_auth.py +0 -0
  9. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/aidial_client/_client.py +0 -0
  10. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/aidial_client/_client_pool.py +0 -0
  11. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/aidial_client/_compatibility/__init__.py +0 -0
  12. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/aidial_client/_compatibility/openai.py +0 -0
  13. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/aidial_client/_compatibility/pydantic.py +0 -0
  14. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/aidial_client/_compatibility/pydantic_v1.py +0 -0
  15. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/aidial_client/_constants.py +0 -0
  16. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/aidial_client/_exception.py +0 -0
  17. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/aidial_client/_http_client/__init__.py +0 -0
  18. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/aidial_client/_http_client/_async.py +0 -0
  19. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/aidial_client/_http_client/_base.py +0 -0
  20. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/aidial_client/_http_client/_sse.py +0 -0
  21. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/aidial_client/_http_client/_sync.py +0 -0
  22. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/aidial_client/_internal_types/__init__.py +0 -0
  23. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/aidial_client/_internal_types/_defaults.py +0 -0
  24. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/aidial_client/_internal_types/_generic.py +0 -0
  25. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/aidial_client/_internal_types/_http_request.py +0 -0
  26. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/aidial_client/_internal_types/_json_rpc.py +0 -0
  27. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/aidial_client/_internal_types/_model.py +0 -0
  28. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/aidial_client/_log.py +0 -0
  29. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/aidial_client/_utils/__init__.py +0 -0
  30. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/aidial_client/_utils/_alias.py +0 -0
  31. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/aidial_client/_utils/_dict.py +0 -0
  32. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/aidial_client/_utils/_openai.py +0 -0
  33. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/aidial_client/_utils/_response_processing.py +0 -0
  34. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/aidial_client/_utils/_type_guard.py +0 -0
  35. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/aidial_client/helpers/__init__.py +0 -0
  36. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/aidial_client/helpers/_url.py +0 -0
  37. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/aidial_client/helpers/storage_resource.py +0 -0
  38. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/aidial_client/py.typed +0 -0
  39. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/aidial_client/resources/__init__.py +0 -0
  40. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/aidial_client/resources/application.py +0 -0
  41. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/aidial_client/resources/base.py +0 -0
  42. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/aidial_client/resources/bucket.py +0 -0
  43. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/aidial_client/resources/chat/__init__.py +0 -0
  44. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/aidial_client/resources/chat/completions.py +0 -0
  45. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/aidial_client/resources/client_channel.py +0 -0
  46. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/aidial_client/resources/files.py +0 -0
  47. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/aidial_client/resources/metadata.py +0 -0
  48. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/aidial_client/resources/model.py +0 -0
  49. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/aidial_client/resources/prompts.py +0 -0
  50. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/aidial_client/resources/resource_permissions.py +0 -0
  51. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/aidial_client/resources/skills.py +0 -0
  52. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/aidial_client/resources/toolset.py +0 -0
  53. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/aidial_client/resources/user.py +0 -0
  54. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/aidial_client/types/__init__.py +0 -0
  55. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/aidial_client/types/application.py +0 -0
  56. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/aidial_client/types/bucket.py +0 -0
  57. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/aidial_client/types/chat/__init__.py +0 -0
  58. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/aidial_client/types/chat/cache.py +0 -0
  59. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/aidial_client/types/chat/function.py +0 -0
  60. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/aidial_client/types/chat/legacy/__init__.py +0 -0
  61. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/aidial_client/types/chat/legacy/application_request.py +0 -0
  62. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/aidial_client/types/chat/legacy/chat_completion.py +0 -0
  63. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/aidial_client/types/chat/request.py +0 -0
  64. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/aidial_client/types/chat/request_param.py +0 -0
  65. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/aidial_client/types/chat/response.py +0 -0
  66. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/aidial_client/types/chat/tool.py +0 -0
  67. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/aidial_client/types/client_channel.py +0 -0
  68. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/aidial_client/types/file.py +0 -0
  69. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/aidial_client/types/metadata.py +0 -0
  70. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/aidial_client/types/model.py +0 -0
  71. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/aidial_client/types/prompt.py +0 -0
  72. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/aidial_client/types/toolset.py +0 -0
  73. {aidial_client-0.18.0.dev3 → aidial_client-0.18.0.dev5}/aidial_client/types/user.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aidial-client
3
- Version: 0.18.0.dev3
3
+ Version: 0.18.0.dev5
4
4
  Summary: A Python client library for the AI DIAL API
5
5
  License-Expression: Apache-2.0
6
6
  License-File: LICENSE
@@ -42,6 +42,7 @@ Description-Content-Type: text/markdown
42
42
  - [Lifecycle Management](#lifecycle-management)
43
43
  - [Deployments](#deployments)
44
44
  - [List Deployments](#list-deployments)
45
+ - [List Deployment Names](#list-deployment-names)
45
46
  - [Get Deployment by Id](#get-deployment-by-id)
46
47
  - [Get Deployment Configuration](#get-deployment-configuration)
47
48
  - [Make Chat Completions Requests](#make-chat-completions-requests)
@@ -246,6 +247,29 @@ deployments = await async_client.deployments.list()
246
247
  ]
247
248
  ```
248
249
 
250
+ #### List Deployment Names
251
+
252
+ To get a lightweight list of the names and kinds of all deployments available to the caller (models, applications and toolsets), without loading their full definitions:
253
+
254
+ ```python
255
+ # Sync
256
+ names = client.deployments.list_names()
257
+ # Async
258
+ names = await async_client.deployments.list_names()
259
+
260
+ # Only some kinds: "model", "application", "toolset"
261
+ names = client.deployments.list_names(types=["model", "toolset"])
262
+ ```
263
+
264
+ ```pycon
265
+ >>> client.deployments.list_names()
266
+ [
267
+ DeploymentName(id='gpt-35-turbo', object='model'),
268
+ DeploymentName(id='my-app', object='application'),
269
+ DeploymentName(id='git', object='toolset'),
270
+ ]
271
+ ```
272
+
249
273
  #### Get Deployment by Id
250
274
 
251
275
  To fetch a single deployment by its identifier:
@@ -20,6 +20,7 @@
20
20
  - [Lifecycle Management](#lifecycle-management)
21
21
  - [Deployments](#deployments)
22
22
  - [List Deployments](#list-deployments)
23
+ - [List Deployment Names](#list-deployment-names)
23
24
  - [Get Deployment by Id](#get-deployment-by-id)
24
25
  - [Get Deployment Configuration](#get-deployment-configuration)
25
26
  - [Make Chat Completions Requests](#make-chat-completions-requests)
@@ -224,6 +225,29 @@ deployments = await async_client.deployments.list()
224
225
  ]
225
226
  ```
226
227
 
228
+ #### List Deployment Names
229
+
230
+ To get a lightweight list of the names and kinds of all deployments available to the caller (models, applications and toolsets), without loading their full definitions:
231
+
232
+ ```python
233
+ # Sync
234
+ names = client.deployments.list_names()
235
+ # Async
236
+ names = await async_client.deployments.list_names()
237
+
238
+ # Only some kinds: "model", "application", "toolset"
239
+ names = client.deployments.list_names(types=["model", "toolset"])
240
+ ```
241
+
242
+ ```pycon
243
+ >>> client.deployments.list_names()
244
+ [
245
+ DeploymentName(id='gpt-35-turbo', object='model'),
246
+ DeploymentName(id='my-app', object='application'),
247
+ DeploymentName(id='git', object='toolset'),
248
+ ]
249
+ ```
250
+
227
251
  #### Get Deployment by Id
228
252
 
229
253
  To fetch a single deployment by its identifier:
@@ -1,8 +1,37 @@
1
+ import builtins
2
+ from collections.abc import Sequence
1
3
  from typing import Any
2
4
 
5
+ import httpx
6
+
7
+ from aidial_client._exception import ParsingDataError
3
8
  from aidial_client._internal_types._http_request import FinalRequestOptions
4
9
  from aidial_client.resources.base import AsyncResource, Resource
5
- from aidial_client.types.deployment import Deployment, DeploymentsResponse
10
+ from aidial_client.types.deployment import (
11
+ Deployment,
12
+ DeploymentKind,
13
+ DeploymentName,
14
+ DeploymentsResponse,
15
+ )
16
+
17
+
18
+ def _names_options(
19
+ types: Sequence[DeploymentKind] | None,
20
+ ) -> FinalRequestOptions:
21
+ return FinalRequestOptions(
22
+ method="GET",
23
+ url="v1/deployment-names",
24
+ params={"type": ",".join(types)} if types else None,
25
+ )
26
+
27
+
28
+ def _parse_names(response: httpx.Response) -> list[DeploymentName]:
29
+ try:
30
+ return [DeploymentName(**item) for item in response.json()]
31
+ except Exception as e:
32
+ raise ParsingDataError(
33
+ message=f"Error during parsing of response data: {str(e)}"
34
+ )
6
35
 
7
36
 
8
37
  class Deployments(Resource):
@@ -15,6 +44,14 @@ class Deployments(Resource):
15
44
  def list(self) -> list[Deployment]:
16
45
  return self._list_raw().data
17
46
 
47
+ def list_names(
48
+ self, types: Sequence[DeploymentKind] | None = None
49
+ ) -> builtins.list[DeploymentName]:
50
+ response = self.http_client.request(
51
+ cast_to=httpx.Response, options=_names_options(types)
52
+ )
53
+ return _parse_names(response)
54
+
18
55
  def get(self, deployment_id: str) -> Deployment:
19
56
  return self.http_client.request(
20
57
  cast_to=Deployment,
@@ -43,6 +80,14 @@ class AsyncDeployments(AsyncResource):
43
80
  async def list(self) -> list[Deployment]:
44
81
  return (await self._list_raw()).data
45
82
 
83
+ async def list_names(
84
+ self, types: Sequence[DeploymentKind] | None = None
85
+ ) -> builtins.list[DeploymentName]:
86
+ response = await self.http_client.request(
87
+ cast_to=httpx.Response, options=_names_options(types)
88
+ )
89
+ return _parse_names(response)
90
+
46
91
  async def get(self, deployment_id: str) -> Deployment:
47
92
  return await self.http_client.request(
48
93
  cast_to=Deployment,
@@ -60,3 +60,11 @@ class Deployment(DeploymentBase):
60
60
  class DeploymentsResponse(ExtraAllowModel):
61
61
  data: list[Deployment]
62
62
  object: Literal["list"]
63
+
64
+
65
+ DeploymentKind = Literal["model", "application", "toolset"]
66
+
67
+
68
+ class DeploymentName(ExtraAllowModel):
69
+ id: str
70
+ object: str
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "aidial-client"
3
- version = "0.18.0.dev3"
3
+ version = "0.18.0.dev5"
4
4
  description = "A Python client library for the AI DIAL API"
5
5
  readme = "README.md"
6
6
  license = "Apache-2.0"