aidial-client 0.12.0.dev1__tar.gz → 0.12.0.dev2__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.12.0.dev1 → aidial_client-0.12.0.dev2}/PKG-INFO +45 -1
- {aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/README.md +44 -0
- {aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/__init__.py +2 -0
- {aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/_client.py +2 -0
- {aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/resources/__init__.py +3 -0
- aidial_client-0.12.0.dev2/aidial_client/resources/user.py +19 -0
- aidial_client-0.12.0.dev2/aidial_client/types/user.py +11 -0
- {aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/pyproject.toml +1 -1
- {aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/LICENSE +0 -0
- {aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/_auth.py +0 -0
- {aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/_client_pool.py +0 -0
- {aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/_compatibility/__init__.py +0 -0
- {aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/_compatibility/openai.py +0 -0
- {aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/_compatibility/pydantic.py +0 -0
- {aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/_compatibility/pydantic_v1.py +0 -0
- {aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/_constants.py +0 -0
- {aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/_exception.py +0 -0
- {aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/_http_client/__init__.py +0 -0
- {aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/_http_client/_async.py +0 -0
- {aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/_http_client/_base.py +0 -0
- {aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/_http_client/_sse.py +0 -0
- {aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/_http_client/_sync.py +0 -0
- {aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/_internal_types/__init__.py +0 -0
- {aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/_internal_types/_defaults.py +0 -0
- {aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/_internal_types/_generic.py +0 -0
- {aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/_internal_types/_http_request.py +0 -0
- {aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/_internal_types/_json_rpc.py +0 -0
- {aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/_internal_types/_model.py +0 -0
- {aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/_log.py +0 -0
- {aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/_utils/__init__.py +0 -0
- {aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/_utils/_alias.py +0 -0
- {aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/_utils/_dict.py +0 -0
- {aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/_utils/_openai.py +0 -0
- {aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/_utils/_response_processing.py +0 -0
- {aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/_utils/_type_guard.py +0 -0
- {aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/helpers/__init__.py +0 -0
- {aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/helpers/_url.py +0 -0
- {aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/helpers/storage_resource.py +0 -0
- {aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/py.typed +0 -0
- {aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/resources/application.py +0 -0
- {aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/resources/base.py +0 -0
- {aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/resources/bucket.py +0 -0
- {aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/resources/chat/__init__.py +0 -0
- {aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/resources/chat/completions.py +0 -0
- {aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/resources/client_channel.py +0 -0
- {aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/resources/deployments.py +0 -0
- {aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/resources/files.py +0 -0
- {aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/resources/metadata.py +0 -0
- {aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/resources/model.py +0 -0
- {aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/resources/prompts.py +0 -0
- {aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/resources/resource_permissions.py +0 -0
- {aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/resources/toolset.py +0 -0
- {aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/types/__init__.py +0 -0
- {aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/types/application.py +0 -0
- {aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/types/bucket.py +0 -0
- {aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/types/chat/__init__.py +0 -0
- {aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/types/chat/function.py +0 -0
- {aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/types/chat/legacy/__init__.py +0 -0
- {aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/types/chat/legacy/application_request.py +0 -0
- {aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/types/chat/legacy/chat_completion.py +0 -0
- {aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/types/chat/request.py +0 -0
- {aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/types/chat/request_param.py +0 -0
- {aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/types/chat/response.py +0 -0
- {aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/types/chat/tool.py +0 -0
- {aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/types/client_channel.py +0 -0
- {aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/types/deployment.py +0 -0
- {aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/types/file.py +0 -0
- {aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/types/metadata.py +0 -0
- {aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/types/model.py +0 -0
- {aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/types/prompt.py +0 -0
- {aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/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.12.0.
|
|
3
|
+
Version: 0.12.0.dev2
|
|
4
4
|
Summary: A Python client library for the AI DIAL API
|
|
5
5
|
License-Expression: Apache-2.0
|
|
6
6
|
License-File: LICENSE
|
|
@@ -61,6 +61,8 @@ Description-Content-Type: text/markdown
|
|
|
61
61
|
- [Get Application by Id](#get-application-by-id)
|
|
62
62
|
- [Models](#models)
|
|
63
63
|
- [Get Model by Name](#get-model-by-name)
|
|
64
|
+
- [User](#user)
|
|
65
|
+
- [Get Authenticated User Info](#get-authenticated-user-info)
|
|
64
66
|
- [Toolsets](#toolsets)
|
|
65
67
|
- [Get Toolset by Id](#get-toolset-by-id)
|
|
66
68
|
- [Resource Permissions](#resource-permissions)
|
|
@@ -878,6 +880,48 @@ ModelInfo(
|
|
|
878
880
|
)
|
|
879
881
|
```
|
|
880
882
|
|
|
883
|
+
### User
|
|
884
|
+
|
|
885
|
+
#### Get Authenticated User Info
|
|
886
|
+
|
|
887
|
+
To retrieve information about the currently authenticated user:
|
|
888
|
+
|
|
889
|
+
```python
|
|
890
|
+
# Sync
|
|
891
|
+
user_info = client.user.info()
|
|
892
|
+
|
|
893
|
+
# Async
|
|
894
|
+
user_info = await async_client.user.info()
|
|
895
|
+
```
|
|
896
|
+
|
|
897
|
+
As a result, you will receive a `UserInfo` object. When authenticated with an
|
|
898
|
+
API key:
|
|
899
|
+
|
|
900
|
+
```python
|
|
901
|
+
UserInfo(
|
|
902
|
+
roles=["default"],
|
|
903
|
+
project="PROJECT-NAME",
|
|
904
|
+
userClaims=None,
|
|
905
|
+
)
|
|
906
|
+
```
|
|
907
|
+
|
|
908
|
+
When authenticated with an access token:
|
|
909
|
+
|
|
910
|
+
```python
|
|
911
|
+
UserInfo(
|
|
912
|
+
roles=["BA"],
|
|
913
|
+
project=None,
|
|
914
|
+
userClaims={
|
|
915
|
+
"email": ["user_email"],
|
|
916
|
+
"sub": ["user_sub"],
|
|
917
|
+
},
|
|
918
|
+
)
|
|
919
|
+
```
|
|
920
|
+
|
|
921
|
+
`userClaims` is returned as an opaque `dict` because its contents depend on the
|
|
922
|
+
identity provider. `UserInfo` also preserves any additional fields the DIAL
|
|
923
|
+
deployment may return, so forward compatibility is retained.
|
|
924
|
+
|
|
881
925
|
### Toolsets
|
|
882
926
|
|
|
883
927
|
#### Get Toolset by Id
|
|
@@ -39,6 +39,8 @@
|
|
|
39
39
|
- [Get Application by Id](#get-application-by-id)
|
|
40
40
|
- [Models](#models)
|
|
41
41
|
- [Get Model by Name](#get-model-by-name)
|
|
42
|
+
- [User](#user)
|
|
43
|
+
- [Get Authenticated User Info](#get-authenticated-user-info)
|
|
42
44
|
- [Toolsets](#toolsets)
|
|
43
45
|
- [Get Toolset by Id](#get-toolset-by-id)
|
|
44
46
|
- [Resource Permissions](#resource-permissions)
|
|
@@ -856,6 +858,48 @@ ModelInfo(
|
|
|
856
858
|
)
|
|
857
859
|
```
|
|
858
860
|
|
|
861
|
+
### User
|
|
862
|
+
|
|
863
|
+
#### Get Authenticated User Info
|
|
864
|
+
|
|
865
|
+
To retrieve information about the currently authenticated user:
|
|
866
|
+
|
|
867
|
+
```python
|
|
868
|
+
# Sync
|
|
869
|
+
user_info = client.user.info()
|
|
870
|
+
|
|
871
|
+
# Async
|
|
872
|
+
user_info = await async_client.user.info()
|
|
873
|
+
```
|
|
874
|
+
|
|
875
|
+
As a result, you will receive a `UserInfo` object. When authenticated with an
|
|
876
|
+
API key:
|
|
877
|
+
|
|
878
|
+
```python
|
|
879
|
+
UserInfo(
|
|
880
|
+
roles=["default"],
|
|
881
|
+
project="PROJECT-NAME",
|
|
882
|
+
userClaims=None,
|
|
883
|
+
)
|
|
884
|
+
```
|
|
885
|
+
|
|
886
|
+
When authenticated with an access token:
|
|
887
|
+
|
|
888
|
+
```python
|
|
889
|
+
UserInfo(
|
|
890
|
+
roles=["BA"],
|
|
891
|
+
project=None,
|
|
892
|
+
userClaims={
|
|
893
|
+
"email": ["user_email"],
|
|
894
|
+
"sub": ["user_sub"],
|
|
895
|
+
},
|
|
896
|
+
)
|
|
897
|
+
```
|
|
898
|
+
|
|
899
|
+
`userClaims` is returned as an opaque `dict` because its contents depend on the
|
|
900
|
+
identity provider. `UserInfo` also preserves any additional fields the DIAL
|
|
901
|
+
deployment may return, so forward compatibility is retained.
|
|
902
|
+
|
|
859
903
|
### Toolsets
|
|
860
904
|
|
|
861
905
|
#### Get Toolset by Id
|
|
@@ -12,6 +12,7 @@ from aidial_client._exception import (
|
|
|
12
12
|
from aidial_client.types.client_channel import SigninResult
|
|
13
13
|
from aidial_client.types.model import ModelInfo, ModelLimits, ModelPricing
|
|
14
14
|
from aidial_client.types.toolset import ToolsetInfo
|
|
15
|
+
from aidial_client.types.user import UserInfo
|
|
15
16
|
|
|
16
17
|
__all__ = [
|
|
17
18
|
"Dial",
|
|
@@ -32,4 +33,5 @@ __all__ = [
|
|
|
32
33
|
"ModelPricing",
|
|
33
34
|
"ModelLimits",
|
|
34
35
|
"SigninResult",
|
|
36
|
+
"UserInfo",
|
|
35
37
|
]
|
|
@@ -120,6 +120,7 @@ class Dial(BaseDialClient[SyncHTTPClient, SyncAuthValue]):
|
|
|
120
120
|
self.client_channel = resources.ClientChannel(
|
|
121
121
|
http_client=self._http_client
|
|
122
122
|
)
|
|
123
|
+
self.user = resources.User(http_client=self._http_client)
|
|
123
124
|
|
|
124
125
|
def _create_http_client(self) -> SyncHTTPClient:
|
|
125
126
|
return SyncHTTPClient(
|
|
@@ -224,6 +225,7 @@ class AsyncDial(BaseDialClient[AsyncHTTPClient, AsyncAuthValue]):
|
|
|
224
225
|
self.client_channel = resources.AsyncClientChannel(
|
|
225
226
|
http_client=self._http_client
|
|
226
227
|
)
|
|
228
|
+
self.user = resources.AsyncUser(http_client=self._http_client)
|
|
227
229
|
|
|
228
230
|
def _create_http_client(self) -> AsyncHTTPClient:
|
|
229
231
|
return AsyncHTTPClient(
|
|
@@ -10,6 +10,7 @@ from aidial_client.resources.resource_permissions import (
|
|
|
10
10
|
ResourcePermissions,
|
|
11
11
|
)
|
|
12
12
|
from aidial_client.resources.toolset import AsyncToolset, Toolset
|
|
13
|
+
from aidial_client.resources.user import AsyncUser, User
|
|
13
14
|
|
|
14
15
|
from .application import Application, AsyncApplication
|
|
15
16
|
from .bucket import AsyncBucket, Bucket
|
|
@@ -40,4 +41,6 @@ __all__ = [
|
|
|
40
41
|
"AsyncResourcePermissions",
|
|
41
42
|
"ClientChannel",
|
|
42
43
|
"AsyncClientChannel",
|
|
44
|
+
"User",
|
|
45
|
+
"AsyncUser",
|
|
43
46
|
]
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
from aidial_client._internal_types._http_request import FinalRequestOptions
|
|
2
|
+
from aidial_client.resources.base import AsyncResource, Resource
|
|
3
|
+
from aidial_client.types.user import UserInfo
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class User(Resource):
|
|
7
|
+
def info(self) -> UserInfo:
|
|
8
|
+
return self.http_client.request(
|
|
9
|
+
cast_to=UserInfo,
|
|
10
|
+
options=FinalRequestOptions(method="GET", url="v1/user/info"),
|
|
11
|
+
)
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class AsyncUser(AsyncResource):
|
|
15
|
+
async def info(self) -> UserInfo:
|
|
16
|
+
return await self.http_client.request(
|
|
17
|
+
cast_to=UserInfo,
|
|
18
|
+
options=FinalRequestOptions(method="GET", url="v1/user/info"),
|
|
19
|
+
)
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
from typing import Any
|
|
2
|
+
|
|
3
|
+
from aidial_client._internal_types._model import ExtraAllowModel
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class UserInfo(ExtraAllowModel):
|
|
7
|
+
"""Information about the authenticated user or API key."""
|
|
8
|
+
|
|
9
|
+
roles: list[str]
|
|
10
|
+
project: str | None = None
|
|
11
|
+
userClaims: dict[str, Any] | None = None # depends on the IdP, so opaque
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/_compatibility/__init__.py
RENAMED
|
File without changes
|
{aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/_compatibility/openai.py
RENAMED
|
File without changes
|
{aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/_compatibility/pydantic.py
RENAMED
|
File without changes
|
{aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/_compatibility/pydantic_v1.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/_http_client/__init__.py
RENAMED
|
File without changes
|
{aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/_http_client/_async.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/_internal_types/__init__.py
RENAMED
|
File without changes
|
{aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/_internal_types/_defaults.py
RENAMED
|
File without changes
|
{aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/_internal_types/_generic.py
RENAMED
|
File without changes
|
|
File without changes
|
{aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/_internal_types/_json_rpc.py
RENAMED
|
File without changes
|
{aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/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.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/_utils/_response_processing.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/helpers/storage_resource.py
RENAMED
|
File without changes
|
|
File without changes
|
{aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/resources/application.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/resources/chat/__init__.py
RENAMED
|
File without changes
|
{aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/resources/chat/completions.py
RENAMED
|
File without changes
|
{aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/resources/client_channel.py
RENAMED
|
File without changes
|
{aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/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
|
{aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/types/chat/__init__.py
RENAMED
|
File without changes
|
{aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/types/chat/function.py
RENAMED
|
File without changes
|
{aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/types/chat/legacy/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/types/chat/request_param.py
RENAMED
|
File without changes
|
{aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/types/chat/response.py
RENAMED
|
File without changes
|
|
File without changes
|
{aidial_client-0.12.0.dev1 → aidial_client-0.12.0.dev2}/aidial_client/types/client_channel.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|