MeUtils 2024.11.29.22.4.24__py3-none-any.whl → 2024.12.2.10.19.51__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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: MeUtils
3
- Version: 2024.11.29.22.4.24
3
+ Version: 2024.12.2.10.19.51
4
4
  Summary: description
5
5
  Home-page: https://github.com/yuanjie-ai/MeUtils
6
6
  Author: yuanjie
@@ -61,42 +61,42 @@ Requires-Dist: sse-starlette ; extra == 'ai'
61
61
  Requires-Dist: openai ; extra == 'ai'
62
62
  Requires-Dist: langchain ; extra == 'ai'
63
63
  Provides-Extra: all
64
+ Requires-Dist: seaborn ; extra == 'all'
65
+ Requires-Dist: dataframe-image ; extra == 'all'
66
+ Requires-Dist: fastapi[all] ; extra == 'all'
64
67
  Requires-Dist: pandas-profiling[notebook] ; extra == 'all'
65
- Requires-Dist: thriftpy2 ; extra == 'all'
66
68
  Requires-Dist: pymupd ; extra == 'all'
67
69
  Requires-Dist: asyncmy ; extra == 'all'
68
- Requires-Dist: pymysql ; extra == 'all'
69
- Requires-Dist: reportlab ; extra == 'all'
70
- Requires-Dist: missingno ; extra == 'all'
70
+ Requires-Dist: streamlit ; extra == 'all'
71
+ Requires-Dist: pretty-errors ; extra == 'all'
71
72
  Requires-Dist: pymilvus ; extra == 'all'
73
+ Requires-Dist: faiss-cpu ; extra == 'all'
74
+ Requires-Dist: jieba ; extra == 'all'
72
75
  Requires-Dist: schedule ; extra == 'all'
73
- Requires-Dist: geopy ; extra == 'all'
74
- Requires-Dist: pandas-summary ; extra == 'all'
75
- Requires-Dist: jmespath ; extra == 'all'
76
+ Requires-Dist: sse-starlette ; extra == 'all'
77
+ Requires-Dist: langchain ; extra == 'all'
78
+ Requires-Dist: fastapi ; extra == 'all'
76
79
  Requires-Dist: cachetools ; extra == 'all'
77
- Requires-Dist: thefuck ; extra == 'all'
78
- Requires-Dist: redis-py-cluster ; extra == 'all'
80
+ Requires-Dist: gunicorn ; extra == 'all'
81
+ Requires-Dist: jinja2 ; extra == 'all'
82
+ Requires-Dist: thriftpy2 ; extra == 'all'
79
83
  Requires-Dist: iteration-utilities ; extra == 'all'
80
- Requires-Dist: fastapi[all] ; extra == 'all'
81
- Requires-Dist: simplejson ; extra == 'all'
82
84
  Requires-Dist: sqlalchemy ; extra == 'all'
85
+ Requires-Dist: openai ; extra == 'all'
86
+ Requires-Dist: polars ; extra == 'all'
87
+ Requires-Dist: thefuck ; extra == 'all'
88
+ Requires-Dist: jmespath ; extra == 'all'
89
+ Requires-Dist: pandas-summary ; extra == 'all'
90
+ Requires-Dist: geopy ; extra == 'all'
91
+ Requires-Dist: simplejson ; extra == 'all'
92
+ Requires-Dist: missingno ; extra == 'all'
93
+ Requires-Dist: redis-py-cluster ; extra == 'all'
94
+ Requires-Dist: reportlab ; extra == 'all'
95
+ Requires-Dist: filetype ; extra == 'all'
83
96
  Requires-Dist: pymongo ; extra == 'all'
84
- Requires-Dist: seaborn ; extra == 'all'
85
- Requires-Dist: fastapi ; extra == 'all'
97
+ Requires-Dist: pymysql ; extra == 'all'
86
98
  Requires-Dist: pyarrow ; extra == 'all'
87
99
  Requires-Dist: uvicorn ; extra == 'all'
88
- Requires-Dist: jieba ; extra == 'all'
89
- Requires-Dist: faiss-cpu ; extra == 'all'
90
- Requires-Dist: polars ; extra == 'all'
91
- Requires-Dist: langchain ; extra == 'all'
92
- Requires-Dist: streamlit ; extra == 'all'
93
- Requires-Dist: sse-starlette ; extra == 'all'
94
- Requires-Dist: pretty-errors ; extra == 'all'
95
- Requires-Dist: filetype ; extra == 'all'
96
- Requires-Dist: gunicorn ; extra == 'all'
97
- Requires-Dist: openai ; extra == 'all'
98
- Requires-Dist: dataframe-image ; extra == 'all'
99
- Requires-Dist: jinja2 ; extra == 'all'
100
100
  Provides-Extra: ann
101
101
  Requires-Dist: pymilvus ; extra == 'ann'
102
102
  Requires-Dist: faiss-cpu ; extra == 'ann'
@@ -350,7 +350,7 @@ meutils/apis/jiema/yezi.py,sha256=26vhnA3lC5049Rqx-CHO-wyGKbdZAfvjEOG90W38cr0,36
350
350
  meutils/apis/kling/__init__.py,sha256=pKz40SEjui1dhHBD-icyNTJOYhzLvxLxJCwszuH4vio,271
351
351
  meutils/apis/kling/api.py,sha256=AuVQ9URmrbTlz7dEv_kIyhA9fMTZPL9rF3Td6KxTIMA,2183
352
352
  meutils/apis/kling/images.py,sha256=FcCkvA4x1Po3SuugfQa8klT0Lrj7fq4N8kbzx6luUxI,5095
353
- meutils/apis/kling/kolors_virtual_try_on.py,sha256=khIoa6zPGA7tALocrIDBZmVa5ik1rprp-iy4VcWgzSM,3094
353
+ meutils/apis/kling/kolors_virtual_try_on.py,sha256=H9qPHNeZII_Ajd3vQkc6zFw3SWfq17AJvLu0vKL-V4M,3093
354
354
  meutils/apis/kling/videos.py,sha256=6z3w0gQHPe3BQNid4ZO2DfYSqvry44EMehG9U0qSB3E,2115
355
355
  meutils/apis/kling/鉴权.py,sha256=1kR67Mb0PxEo4ZxLVJZys4Iru9BUnS_Qqo2cbpLZNCU,842
356
356
  meutils/apis/kuaishou/__init__.py,sha256=fDzJvVQl_CxHyiL3bCPH9x7gOLYfK6QuW2iQ33eez7c,243
@@ -419,7 +419,7 @@ meutils/async_task/__init__.py,sha256=45cUr-GWvQ1JFYGOYPOIkHLyTR3JbfP_PEYrmktpML
419
419
  meutils/async_task/celery_config.py,sha256=-p8-uGQq0HFFifZWZY6duCxEDcPJpWA4A_Rnz-WNysU,3430
420
420
  meutils/async_task/common.py,sha256=ZJ4e0CsEJf1ppPmGSwPCwhZBAkUL5xsi_t1ny-bJuko,845
421
421
  meutils/async_task/demo_create_tasks.py,sha256=Eu4XjNxRROmMJ0oKfbEhrfLTaOUgedbAhmFyQx5nOQc,2699
422
- meutils/async_task/utils.py,sha256=2ImDpIVfo8hMBGYRGF3UG8D7T4iQSg5cnff449CAIQc,5039
422
+ meutils/async_task/utils.py,sha256=5UGFmTUvlaYNMP9dCkYAyRBJN8zOSzpiF7e-k9PN4Bw,5125
423
423
  meutils/async_task/通用设计.py,sha256=kGdrJHJu9VoOkyGHREn0KUtBTibAaLIcG0O6hEJNhLA,3232
424
424
  meutils/async_task/tasks/__init__.py,sha256=flHRXJMdts_9az9T9V1c5l3Y-gaDD88COWrARr4WAKU,246
425
425
  meutils/async_task/tasks/_all.py,sha256=Vz63k9yvgj-IBGjekm0u2t571TTT0nMRMqcPvPqJAbY,533
@@ -460,7 +460,7 @@ meutils/config_utils/lark_utils/demo.py,sha256=3g0Fs7oLaeW75T60gYWMLgyNg1OnfOjfH
460
460
  meutils/config_utils/lark_utils/x.py,sha256=MlMQGhehP9xMEgetxVCX68XFaosfKoW1JA5cZ3JqN2w,1857
461
461
  meutils/crawlers/__init__.py,sha256=TBU4xA-IOsHV-0yIkW7YXxn_QT7TT8NncqxO7IykEfs,271
462
462
  meutils/data/SimHei.ttf,sha256=-XEnekS5yHP_URkT4XBI2w22ylV-KxudhkeIYFbrILA,10062565
463
- meutils/data/VERSION,sha256=lutwKDTq2yFt2y19_RtkZBcm4ftMY5MUEew8u9M74mM,19
463
+ meutils/data/VERSION,sha256=v0LDzt-y0RRm3UYDoOS7jzUit_p_slZFseifSKBN2qg,19
464
464
  meutils/data/_FLAG,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
465
465
  meutils/data/_SUCCESS,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
466
466
  meutils/data/__init__.py,sha256=Hfwkkxs4zHqKhxht0YrhS566a9P5axtmgNvM5wF8ceQ,243
@@ -793,9 +793,9 @@ meutils/tools/seize.py,sha256=nOKAS63w-Lbi48I0m2MPhdsokUTwxco0laPxYVmW4Mw,1064
793
793
  meutils/tools/service_monitor.py,sha256=ibsLtBN2g2DL7ZnLJ8vhiZOiOcqTAyx711djDdBK-3M,1255
794
794
  meutils/tools/sys_monitor.py,sha256=6MoyzrItqDUOSjfHcMJmMofQkEPTW36CT_aKui0rg84,429
795
795
  meutils/tools/token_monitor.py,sha256=Np-YK-R4P4IPAXyZvMxwvXI4sFmNJQAQK1lSegNaYpA,997
796
- MeUtils-2024.11.29.22.4.24.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
797
- MeUtils-2024.11.29.22.4.24.dist-info/METADATA,sha256=nJ4igJPKRQXmhEKQmkvyDs4VVxk-0l34P4pVcs8hEB4,6143
798
- MeUtils-2024.11.29.22.4.24.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
799
- MeUtils-2024.11.29.22.4.24.dist-info/entry_points.txt,sha256=lufZlBHRqqZKdY-ZQJ4CSZb0qhV5hQC37egZna9M7ug,357
800
- MeUtils-2024.11.29.22.4.24.dist-info/top_level.txt,sha256=cInfxMmkgNOskurdjwP5unau4rA7Uw48nu07tYhS7KY,22
801
- MeUtils-2024.11.29.22.4.24.dist-info/RECORD,,
796
+ MeUtils-2024.12.2.10.19.51.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
797
+ MeUtils-2024.12.2.10.19.51.dist-info/METADATA,sha256=BByTxbpKRQMkWAfRvrEAZ-13NSRJOOwJ6v9ISPjPPsI,6143
798
+ MeUtils-2024.12.2.10.19.51.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
799
+ MeUtils-2024.12.2.10.19.51.dist-info/entry_points.txt,sha256=lufZlBHRqqZKdY-ZQJ4CSZb0qhV5hQC37egZna9M7ug,357
800
+ MeUtils-2024.12.2.10.19.51.dist-info/top_level.txt,sha256=cInfxMmkgNOskurdjwP5unau4rA7Uw48nu07tYhS7KY,22
801
+ MeUtils-2024.12.2.10.19.51.dist-info/RECORD,,
@@ -70,7 +70,7 @@ async def get_task(task_id, token):
70
70
 
71
71
  if __name__ == '__main__':
72
72
  request = TryOnRequest()
73
- arun(create_task(request))
73
+ # arun(create_task(request))
74
74
  # {
75
75
  # "code": 0,
76
76
  # "message": "SUCCEED",
@@ -82,5 +82,6 @@ if __name__ == '__main__':
82
82
  # "updated_at": 1732500869112
83
83
  # }
84
84
  # }
85
- # token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkMmU1NmZkY2ZiODY0MmZmYWEyMjZlZWIxNzY4MzMyMiIsImV4cCI6MTczMjUwMjg1NywibmJmIjoxNzMyNTAxMDUyfQ.2FSf5j4_stSgU152HPTRlIwNDJfrSF1it0uiTbJC2Eg"
86
- # arun(get_task("CjMVomdAMUcAAAAAAHcmvg", token))
85
+
86
+ token = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkMmU1NmZkY2ZiODY0MmZmYWEyMjZlZWIxNzY4MzMyMiIsImV4cCI6MTczMzE4OTI4OSwibmJmIjoxNzMzMTAyODg0fQ.YjB792REbuFaUoyUXvd5bpI76_0PBWawDHDjPHOBA5Q'
87
+ arun(get_task("CjiL9mdJhswAAAAAAG2C6g", token))
@@ -48,7 +48,8 @@ async def create_task(async_task, request: Union[BaseModel, dict]):
48
48
  async def get_task(
49
49
  task_id: str,
50
50
  remote_get_task: Optional[Callable] = None,
51
- filter_kwargs: Optional[dict] = None
51
+ filter_kwargs: Optional[dict] = None,
52
+ background_tasks: Optional[BackgroundTasks] = None,
52
53
  ):
53
54
  """
54
55
 
@@ -63,25 +64,27 @@ async def get_task(
63
64
  }
64
65
  :return:
65
66
  """
67
+ filter_kwargs = filter_kwargs or {}
68
+ filter_kwargs["task_id"] = task_id
69
+
66
70
  result = AsyncResult(id=task_id)
67
71
  # logger.debug(bjson(result._get_task_meta()))
68
72
  # logger.debug(bjson(result.get()))
69
73
 
70
- data = result.get() # 创建任务时:remote task的返回结果
74
+ data = result.get().copy() # 创建任务时:remote task的返回结果 ####### copy避免丢失字段
71
75
  logger.debug(bjson(data))
76
+ token = data.pop("system_fingerprint", None) # 远程任务 token/apikey
72
77
 
73
78
  if result.ready():
74
79
  if result.successful():
75
80
  remote_task_id = (
76
- data.get("task_id") # 远程任务 写在最外层
81
+ data.get("task_id") # 提前写
82
+ or data.get("data", {}).get("task_id")
83
+ or data.get("data", {}).get("id")
77
84
  or data.get("id")
78
85
  or data.get("request_id")
79
- or data.get("data", {}).get("id")
80
- or data.get("data", {}).get("task_id")
81
86
  )
82
87
 
83
- token = data.pop("system_fingerprint", None) # 远程任务 token/apikey
84
-
85
88
  response = TaskResponse(
86
89
  task_id=task_id,
87
90
 
@@ -91,7 +94,7 @@ async def get_task(
91
94
  )
92
95
 
93
96
  if remote_get_task: # 获取远程任务, todo: 判断函数类型
94
- # todo: 缓存一份,todo: user_id、platform/action
97
+
95
98
  remote_task_response = await remote_get_task(remote_task_id, token)
96
99
  if not isinstance(remote_task_response, dict):
97
100
  remote_task_response = remote_task_response.model_dump()
@@ -116,8 +119,10 @@ async def get_task(
116
119
 
117
120
  # 更新到数据库:异步任务
118
121
  update_fn = partial(update_oneapi_from_response, task_response=response)
119
- background_tasks.add_task(update_or_insert, OneapiTask, filter_kwargs, update_fn) # fastapi 服务里会运行
120
- # await background_tasks.__call__() # 调试
122
+ if background_tasks:
123
+ background_tasks.add_task(update_or_insert, OneapiTask, filter_kwargs, update_fn)
124
+ else:
125
+ await update_or_insert(OneapiTask, filter_kwargs, update_fn)
121
126
 
122
127
  return response
123
128
 
@@ -138,7 +143,7 @@ async def update_oneapi_from_response(task: OneapiTask, task_response: TaskRespo
138
143
  """
139
144
  if task.status in {"SUCCESS", "FAILURE"}: return False # 跳出轮询,不再更新
140
145
 
141
- task.data = task_response.model_dump(exclude_none=True, exclude={"system_fingerprint"})
146
+ task.data = task_response.model_dump(exclude={"system_fingerprint"})
142
147
  task.status = task_response.status
143
148
  task.progress = time.time() // 10 % 100
144
149
 
@@ -156,12 +161,12 @@ if __name__ == '__main__':
156
161
 
157
162
  from meutils.apis.kling import kolors_virtual_try_on
158
163
 
159
- task_id = "807e1525-11ff-40ca-8572-1cfc33d69673"
160
- filter_kwargs = {
161
- "task_id": task_id, #########理论上只需这个
162
- "user_id": 1,
163
- "platform": "kling",
164
- "action": "kling", # 模型
165
- }
164
+ task_id = "d91e39a9-eff9-4e98-8412-a5c40371479e"
165
+ # filter_kwargs = {
166
+ # "task_id": task_id, #########理论上只需这个
167
+ # "user_id": 1,
168
+ # "platform": "kling",
169
+ # "action": "kling", # 模型
170
+ # }
166
171
 
167
- arun(get_task(task_id, kolors_virtual_try_on.get_task, filter_kwargs))
172
+ arun(get_task(task_id, kolors_virtual_try_on.get_task))
meutils/data/VERSION CHANGED
@@ -1 +1 @@
1
- 2024.11.29.22.04.24
1
+ 2024.12.02.10.19.51