intellif-aihub 0.1.4__py3-none-any.whl → 0.1.6__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.

Potentially problematic release.


This version of intellif-aihub might be problematic. Click here for more details.

Files changed (35) hide show
  1. aihub/__init__.py +1 -1
  2. aihub/client.py +35 -12
  3. aihub/models/artifact.py +1 -1
  4. aihub/models/data_warehouse.py +95 -0
  5. aihub/models/dataset_management.py +99 -61
  6. aihub/models/document_center.py +26 -18
  7. aihub/models/eval.py +20 -11
  8. aihub/models/labelfree.py +12 -38
  9. aihub/models/model_center.py +141 -0
  10. aihub/models/model_training_platform.py +183 -149
  11. aihub/models/quota_schedule_management.py +201 -150
  12. aihub/models/tag_resource_management.py +30 -24
  13. aihub/models/task_center.py +39 -36
  14. aihub/models/user_system.py +159 -125
  15. aihub/models/workflow_center.py +461 -0
  16. aihub/services/artifact.py +22 -15
  17. aihub/services/data_warehouse.py +97 -0
  18. aihub/services/dataset_management.py +142 -23
  19. aihub/services/document_center.py +24 -5
  20. aihub/services/eval.py +14 -7
  21. aihub/services/labelfree.py +11 -0
  22. aihub/services/model_center.py +183 -0
  23. aihub/services/model_training_platform.py +99 -29
  24. aihub/services/quota_schedule_management.py +104 -7
  25. aihub/services/tag_resource_management.py +33 -2
  26. aihub/services/task_center.py +23 -9
  27. aihub/services/user_system.py +237 -2
  28. aihub/services/workflow_center.py +522 -0
  29. aihub/utils/download.py +19 -3
  30. {intellif_aihub-0.1.4.dist-info → intellif_aihub-0.1.6.dist-info}/METADATA +3 -3
  31. intellif_aihub-0.1.6.dist-info/RECORD +42 -0
  32. intellif_aihub-0.1.4.dist-info/RECORD +0 -36
  33. {intellif_aihub-0.1.4.dist-info → intellif_aihub-0.1.6.dist-info}/WHEEL +0 -0
  34. {intellif_aihub-0.1.4.dist-info → intellif_aihub-0.1.6.dist-info}/licenses/LICENSE +0 -0
  35. {intellif_aihub-0.1.4.dist-info → intellif_aihub-0.1.6.dist-info}/top_level.txt +0 -0
@@ -1,15 +1,58 @@
1
1
  # !/usr/bin/env python
2
- # -*-coding:utf-8 -*-
2
+ # -*- coding:utf-8 -*-
3
+ """用户系统服务模块
4
+
5
+ 封装 **Auth / Menu / Role / User** 四大类接口:
6
+
7
+ - **统一登录 / 注册**
8
+ - **菜单**(增删改查 & 角色绑定)
9
+ - **角色**(增删改查 & 菜单绑定)
10
+ - **用户**(增删改查 & 角色 / 菜单查询)
11
+ """
3
12
  from __future__ import annotations
4
13
 
14
+ from typing import List
15
+
5
16
  import httpx
6
17
 
7
18
  from ..exceptions import APIError
8
19
  from ..models.common import APIWrapper
9
- from ..models.user_system import *
20
+ from ..models.user_system import (
21
+ LoginRequest,
22
+ LoginResponse,
23
+ SignupRequest,
24
+ SignupResponse,
25
+ Menu,
26
+ TreeMenu,
27
+ ListMenusResponse,
28
+ CreateMenuRequest,
29
+ CreateMenuResponse,
30
+ UpdateMenuRequest,
31
+ GetMenuRolesResponse,
32
+ Role,
33
+ ListRolesRequest,
34
+ ListRolesResponse,
35
+ CreateRoleRequest,
36
+ CreateRoleResponse,
37
+ UpdateRoleRequest,
38
+ GetRoleMenusResponse,
39
+ SearchRolesRequest,
40
+ SearchRolesResponse,
41
+ User,
42
+ ListUsersRequest,
43
+ ListUsersResponse,
44
+ CreateUserRequest,
45
+ CreateUserResponse,
46
+ UpdateUserRequest,
47
+ SetUserRolesRequest,
48
+ GetUserMenusResponse,
49
+ SearchUsersRequest,
50
+ SearchUsersResponse,
51
+ )
10
52
 
11
53
 
12
54
  class UserSystemService:
55
+ """用户系统服务"""
13
56
 
14
57
  def __init__(self, http: httpx.Client):
15
58
  self._auth = _Auth(http)
@@ -21,90 +64,282 @@ class UserSystemService:
21
64
  # AUTH 一级方法
22
65
  # ==================================================
23
66
  def login(self, payload: LoginRequest) -> LoginResponse:
67
+ """登录
68
+
69
+ Args:
70
+ payload: 登录请求体,包含 *username* / *password*
71
+
72
+ Returns:
73
+ LoginResponse: 登录成功后返回用户 ID 与 token
74
+ """
24
75
  return self._auth.login(payload)
25
76
 
26
77
  def signup(self, payload: SignupRequest) -> SignupResponse:
78
+ """注册
79
+
80
+ Args:
81
+ payload: 注册请求体
82
+
83
+ Returns:
84
+ SignupResponse: 新用户 ID
85
+ """
27
86
  return self._auth.signup(payload)
28
87
 
29
88
  # ==================================================
30
89
  # MENU 一级方法
31
90
  # ==================================================
32
91
  def list_menus(self, need_roles: bool = False) -> ListMenusResponse:
92
+ """查询所有菜单
93
+
94
+ Args:
95
+ need_roles: 是否返回每个菜单已绑定角色
96
+
97
+ Returns:
98
+ ListMenusResponse
99
+ """
33
100
  return self._menu.list(need_roles)
34
101
 
35
102
  def get_menu(self, menu_id: int) -> Menu:
103
+ """获取单个菜单详情
104
+
105
+ Args:
106
+ menu_id: 菜单 ID
107
+
108
+ Returns:
109
+ Menu: 菜单对象(含父级、权限等字段)
110
+ """
36
111
  return self._menu.get(menu_id)
37
112
 
38
113
  def create_menu(self, payload: CreateMenuRequest) -> int:
114
+ """新建菜单
115
+
116
+ Args:
117
+ payload: 菜单创建请求体,包含名称 / 父级 / 权限标识等
118
+
119
+ Returns:
120
+ int: 新菜单的 ID
121
+ """
39
122
  return self._menu.create(payload)
40
123
 
41
124
  def update_menu(self, menu_id: int, payload: UpdateMenuRequest) -> None:
125
+ """编辑菜单
126
+
127
+ Args:
128
+ menu_id: 待更新菜单 ID
129
+ payload: 更新字段(名称 / 父级 / 权限 / 角色绑定)
130
+ """
42
131
  self._menu.update(menu_id, payload)
43
132
 
44
133
  def delete_menu(self, menu_id: int) -> None:
134
+ """删除菜单
135
+
136
+ Args:
137
+ menu_id: 目标菜单 ID
138
+ """
45
139
  self._menu.delete(menu_id)
46
140
 
47
141
  def get_menu_roles(self, menu_id: int) -> List[int]:
142
+ """查询菜单已绑定的角色
143
+
144
+ Args:
145
+ menu_id: 菜单 ID
146
+
147
+ Returns:
148
+ list[int]: 角色 ID 列表
149
+ """
48
150
  return self._menu.get_roles(menu_id)
49
151
 
50
152
  def set_menu_roles(self, menu_id: int, role_ids: List[int]) -> None:
153
+ """重新绑定菜单角色
154
+
155
+ Args:
156
+ menu_id: 菜单 ID
157
+ role_ids: 需绑定的角色 ID 列表
158
+ """
51
159
  self._menu.set_roles(menu_id, role_ids)
52
160
 
53
161
  # ==================================================
54
162
  # ROLE 一级方法
55
163
  # ==================================================
56
164
  def list_roles(self, payload: ListRolesRequest) -> ListRolesResponse:
165
+ """分页查询角色
166
+
167
+ Args:
168
+ payload: 分页与过滤条件
169
+
170
+ Returns:
171
+ ListRolesResponse: 角色分页结果
172
+ """
57
173
  return self._role.list(payload)
58
174
 
59
175
  def get_role(self, role_id: int) -> Role:
176
+ """获取角色详情
177
+
178
+ Args:
179
+ role_id: 角色 ID
180
+
181
+ Returns:
182
+ Role: 角色对象,含菜单绑定信息(可选)
183
+ """
60
184
  return self._role.get(role_id)
61
185
 
62
186
  def create_role(self, payload: CreateRoleRequest) -> int:
187
+ """新建角色
188
+
189
+ Args:
190
+ payload: 角色创建请求体,支持初始菜单绑定
191
+
192
+ Returns:
193
+ int: 新角色 ID
194
+ """
63
195
  return self._role.create(payload)
64
196
 
65
197
  def update_role(self, role_id: int, payload: UpdateRoleRequest) -> None:
198
+ """编辑角色
199
+
200
+ Args:
201
+ role_id: 角色 ID
202
+ payload: 更新字段(名称 / 类型 / 菜单绑定)
203
+ """
66
204
  self._role.update(role_id, payload)
67
205
 
68
206
  def delete_role(self, role_id: int) -> None:
207
+ """删除角色
208
+
209
+ Args:
210
+ role_id: 目标角色 ID
211
+ """
69
212
  self._role.delete(role_id)
70
213
 
71
214
  def get_role_menus(self, role_id: int) -> List[int]:
215
+ """获取角色已绑定菜单
216
+
217
+ Args:
218
+ role_id: 角色 ID
219
+
220
+ Returns:
221
+ list[int]: 菜单 ID 列表
222
+ """
72
223
  return self._role.get_menus(role_id)
73
224
 
74
225
  def set_role_menus(self, role_id: int, menu_ids: List[int]) -> None:
226
+ """设置角色菜单绑定
227
+
228
+ Args:
229
+ role_id: 角色 ID
230
+ menu_ids: 菜单 ID 列表
231
+ """
75
232
  self._role.set_menus(role_id, menu_ids)
76
233
 
77
234
  def search_roles(self, payload: SearchRolesRequest) -> SearchRolesResponse:
235
+ """条件检索角色
236
+
237
+ Args:
238
+ payload: 检索条件(名称 / 角色 ID / 菜单 ID 等)
239
+
240
+ Returns:
241
+ SearchRolesResponse: 检索结果
242
+ """
78
243
  return self._role.search(payload)
79
244
 
80
245
  # ==================================================
81
246
  # USER 一级方法
82
247
  # ==================================================
83
248
  def list_users(self, payload: ListUsersRequest) -> ListUsersResponse:
249
+ """分页查询用户
250
+
251
+ Args:
252
+ payload: 分页与关键词过滤
253
+
254
+ Returns:
255
+ ListUsersResponse: 用户分页结果
256
+ """
84
257
  return self._user.list(payload)
85
258
 
86
259
  def get_user(self, user_id: int) -> User:
260
+ """获取用户详情
261
+
262
+ Args:
263
+ user_id: 用户 ID
264
+
265
+ Returns:
266
+ User: 用户完整信息(含角色 / 标签等)
267
+ """
87
268
  return self._user.get(user_id)
88
269
 
89
270
  def create_user(self, payload: CreateUserRequest) -> int:
271
+ """新建用户
272
+
273
+ Args:
274
+ payload: 用户创建请求体
275
+
276
+ Returns:
277
+ int: 新用户 ID
278
+ """
90
279
  return self._user.create(payload)
91
280
 
92
281
  def update_user(self, user_id: int, payload: UpdateUserRequest) -> None:
282
+ """编辑用户
283
+
284
+ Args:
285
+ user_id: 用户 ID
286
+ payload: 更新字段(昵称 / 邮箱 / 角色 / 标签等)
287
+ """
93
288
  self._user.update(user_id, payload)
94
289
 
95
290
  def delete_user(self, user_id: int) -> None:
291
+ """删除用户
292
+
293
+ Args:
294
+ user_id: 目标用户 ID
295
+ """
96
296
  self._user.delete(user_id)
97
297
 
98
298
  def set_user_roles(self, user_id: int, payload: SetUserRolesRequest) -> None:
299
+ """重新绑定用户角色
300
+
301
+ Args:
302
+ user_id: 用户 ID
303
+ payload: 角色 ID 列表封装
304
+ """
99
305
  self._user.set_roles(user_id, payload)
100
306
 
101
307
  def get_user_menus(self, user_id: int, parent_id: int | None = None, auth: str | None = None, ) -> List[TreeMenu]:
308
+ """查询用户可见菜单
309
+
310
+ Args:
311
+ user_id: 用户 ID
312
+ parent_id: 仅返回指定父级菜单下的子菜单(可选)
313
+ auth: 仅返回特定权限标识的菜单(可选)
314
+
315
+ Returns:
316
+ list[TreeMenu]: 菜单树
317
+ """
102
318
  return self._user.get_menus(user_id, parent_id=parent_id, auth=auth)
103
319
 
104
320
  def search_users(self, payload: SearchUsersRequest) -> SearchUsersResponse:
321
+ """条件搜索用户
322
+
323
+ Args:
324
+ payload: 搜索条件(用户名 / 邮箱 / 角色等)
325
+
326
+ Returns:
327
+ SearchUsersResponse: 搜索结果
328
+ """
105
329
  return self._user.search(payload)
106
330
 
107
331
  def search_one(self, payload: SearchUsersRequest) -> int:
332
+ """搜索单个用户并返回其 ID
333
+
334
+ Args:
335
+ payload: 搜索条件
336
+
337
+ Returns:
338
+ int: 命中的用户 ID
339
+
340
+ Raises:
341
+ APIError: 未找到用户时抛出
342
+ """
108
343
  return self._user.search_one(payload)
109
344
 
110
345
  @property