MeUtils 2024.11.29.20.35.32__py3-none-any.whl → 2024.11.29.21.10.57__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.20.35.32
3
+ Version: 2024.11.29.21.10.57
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: fastapi[all] ; extra == 'all'
65
- Requires-Dist: polars ; extra == 'all'
66
- Requires-Dist: streamlit ; extra == 'all'
67
- Requires-Dist: seaborn ; extra == 'all'
68
- Requires-Dist: pymysql ; extra == 'all'
69
- Requires-Dist: cachetools ; extra == 'all'
70
- Requires-Dist: dataframe-image ; extra == 'all'
71
- Requires-Dist: pretty-errors ; extra == 'all'
72
- Requires-Dist: uvicorn ; extra == 'all'
64
+ Requires-Dist: openai ; extra == 'all'
73
65
  Requires-Dist: pymupd ; extra == 'all'
66
+ Requires-Dist: redis-py-cluster ; extra == 'all'
67
+ Requires-Dist: seaborn ; extra == 'all'
68
+ Requires-Dist: gunicorn ; extra == 'all'
69
+ Requires-Dist: simplejson ; extra == 'all'
70
+ Requires-Dist: pandas-profiling[notebook] ; extra == 'all'
71
+ Requires-Dist: jmespath ; extra == 'all'
74
72
  Requires-Dist: geopy ; extra == 'all'
73
+ Requires-Dist: cachetools ; extra == 'all'
74
+ Requires-Dist: pandas-summary ; extra == 'all'
75
+ Requires-Dist: thriftpy2 ; extra == 'all'
75
76
  Requires-Dist: pymilvus ; extra == 'all'
76
- Requires-Dist: schedule ; extra == 'all'
77
- Requires-Dist: openai ; extra == 'all'
78
- Requires-Dist: missingno ; extra == 'all'
79
- Requires-Dist: asyncmy ; extra == 'all'
77
+ Requires-Dist: thefuck ; extra == 'all'
80
78
  Requires-Dist: pymongo ; extra == 'all'
81
- Requires-Dist: sqlalchemy ; extra == 'all'
79
+ Requires-Dist: streamlit ; extra == 'all'
80
+ Requires-Dist: missingno ; extra == 'all'
81
+ Requires-Dist: schedule ; extra == 'all'
82
+ Requires-Dist: jinja2 ; extra == 'all'
83
+ Requires-Dist: langchain ; extra == 'all'
84
+ Requires-Dist: pyarrow ; extra == 'all'
82
85
  Requires-Dist: faiss-cpu ; extra == 'all'
86
+ Requires-Dist: iteration-utilities ; extra == 'all'
87
+ Requires-Dist: fastapi[all] ; extra == 'all'
88
+ Requires-Dist: pymysql ; extra == 'all'
89
+ Requires-Dist: asyncmy ; extra == 'all'
90
+ Requires-Dist: uvicorn ; extra == 'all'
83
91
  Requires-Dist: reportlab ; extra == 'all'
84
- Requires-Dist: jinja2 ; extra == 'all'
85
- Requires-Dist: thefuck ; extra == 'all'
86
- Requires-Dist: jmespath ; extra == 'all'
92
+ Requires-Dist: polars ; extra == 'all'
87
93
  Requires-Dist: fastapi ; extra == 'all'
88
- Requires-Dist: iteration-utilities ; extra == 'all'
89
94
  Requires-Dist: filetype ; extra == 'all'
90
95
  Requires-Dist: sse-starlette ; extra == 'all'
91
- Requires-Dist: pandas-profiling[notebook] ; extra == 'all'
92
- Requires-Dist: pyarrow ; extra == 'all'
93
- Requires-Dist: thriftpy2 ; extra == 'all'
94
- Requires-Dist: langchain ; extra == 'all'
95
- Requires-Dist: redis-py-cluster ; extra == 'all'
96
- Requires-Dist: pandas-summary ; extra == 'all'
96
+ Requires-Dist: pretty-errors ; extra == 'all'
97
+ Requires-Dist: dataframe-image ; extra == 'all'
97
98
  Requires-Dist: jieba ; extra == 'all'
98
- Requires-Dist: simplejson ; extra == 'all'
99
- Requires-Dist: gunicorn ; extra == 'all'
99
+ Requires-Dist: sqlalchemy ; extra == 'all'
100
100
  Provides-Extra: ann
101
101
  Requires-Dist: pymilvus ; extra == 'ann'
102
102
  Requires-Dist: faiss-cpu ; extra == 'ann'
@@ -418,14 +418,14 @@ meutils/apis/voice_clone/fish_api.py,sha256=pDpE-B8HFiGIOV3NVd1HmFrCC2GQc3wH-81o
418
418
  meutils/async_task/__init__.py,sha256=45cUr-GWvQ1JFYGOYPOIkHLyTR3JbfP_PEYrmktpMLo,367
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
- meutils/async_task/demo_create_tasks.py,sha256=yDxZLKCAsSA6apgIKNhvmmrlukSftNUfz8Ocmu0z02o,2485
422
- meutils/async_task/utils.py,sha256=IAcGmXUn-L7oJ-i66p-KJCtpNFMQY7lBXGe2ausNljg,3957
421
+ meutils/async_task/demo_create_tasks.py,sha256=p2CntKKd9tSrlfyx63uGu57SHQlu2x6XBi1u7y6LTYo,2577
422
+ meutils/async_task/utils.py,sha256=Smu3RQ41J0BbYwAcoFlb84Mmw4QLxKhT2S8S1i6V30I,4303
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
426
- meutils/async_task/tasks/kling.py,sha256=4n898Xxv_TgohxqCbsfKt0Jkm6VL3nWY_QkHLckXEx8,925
426
+ meutils/async_task/tasks/kling.py,sha256=mqGQ4qtvQOyg7kmhk4AyZBfnFOQOoAFSuzYX5F6MyHo,1037
427
427
  meutils/async_task/tasks/replicateai.py,sha256=wbxx6kB7GQZPnKRE6J6r1mEv3wO8X7XaGaNMC5rBVoE,716
428
- meutils/async_task/tasks/test.py,sha256=ti2IiMQKXMjHOT9X_RtIVqA2_JTsDkCRCshHDBsE8ts,2638
428
+ meutils/async_task/tasks/test.py,sha256=-nCQhwEP6hQEnmk3ucDbjbnxbeyOHrg0HXCJmWL0KBU,2675
429
429
  meutils/async_task/tasks/vidu.py,sha256=obBG4_bf1oPIlLxeca1s1dGOnlyam2xYRy-8TrH3ZTk,620
430
430
  meutils/async_utils/__init__.py,sha256=IiJLRm258jkM4xAjUKOD7tVwHIemj7_1CuzXCu3TuQU,284
431
431
  meutils/async_utils/asyncer_.py,sha256=S1Sp5WZx_uKM7kJyRVYU8QhmbjOh61JmfN2IN_PJNX4,736
@@ -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=w_rmlMpS1wkoWkfE7HAekdjOGyDYH5lVKW-ce-0u2zU,19
463
+ meutils/data/VERSION,sha256=4yFGgrgMoRyZgOnWowpPe_gMHE8Mw4LnDJaIYum_RiU,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.20.35.32.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
797
- MeUtils-2024.11.29.20.35.32.dist-info/METADATA,sha256=_8a01oXMDDQoZhz1uWHg27-XKLG6jrIbEe_mKakh8hA,6144
798
- MeUtils-2024.11.29.20.35.32.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
799
- MeUtils-2024.11.29.20.35.32.dist-info/entry_points.txt,sha256=lufZlBHRqqZKdY-ZQJ4CSZb0qhV5hQC37egZna9M7ug,357
800
- MeUtils-2024.11.29.20.35.32.dist-info/top_level.txt,sha256=cInfxMmkgNOskurdjwP5unau4rA7Uw48nu07tYhS7KY,22
801
- MeUtils-2024.11.29.20.35.32.dist-info/RECORD,,
796
+ MeUtils-2024.11.29.21.10.57.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
797
+ MeUtils-2024.11.29.21.10.57.dist-info/METADATA,sha256=Tw5j4FMIf79a5n19vmEYQSfSi6ielW7FQtj_PTjJyPQ,6144
798
+ MeUtils-2024.11.29.21.10.57.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
799
+ MeUtils-2024.11.29.21.10.57.dist-info/entry_points.txt,sha256=lufZlBHRqqZKdY-ZQJ4CSZb0qhV5hQC37egZna9M7ug,357
800
+ MeUtils-2024.11.29.21.10.57.dist-info/top_level.txt,sha256=cInfxMmkgNOskurdjwP5unau4rA7Uw48nu07tYhS7KY,22
801
+ MeUtils-2024.11.29.21.10.57.dist-info/RECORD,,
@@ -55,7 +55,7 @@ if __name__ == '__main__':
55
55
  # print(type(test.do_pydantic_task))
56
56
 
57
57
 
58
- # test.do_pydantic_task.apply_async(kwargs={"request": {"method": "POST", "url": "测试"}})
58
+ test.do_pydantic_task.apply_async(kwargs={"request": {"method": "POST", "url": "测试"}})
59
59
  # test.do_pydantic_task.apply_async(kwargs={"request": {"method": "xx"}})
60
60
  # test.do_pydantic_task.apply_async(args=({"method": "xxxxxxx"},))
61
61
 
@@ -68,4 +68,5 @@ if __name__ == '__main__':
68
68
  test.Request()
69
69
  # test.ado_pydantic_task.apply_async(kwargs={"request": None})
70
70
 
71
- test.ado_pydantic_task.apply_async(kwargs={"request": test.Request().model_dump()})
71
+ # test.ado_pydantic_task.apply_async(kwargs={"request": test.Request().model_dump()})
72
+ # test.ado_pydantic_task_2.apply_async(kwargs={"request": test.Request().model_dump()})
@@ -19,8 +19,11 @@ from meutils.apis.kling import kolors_virtual_try_on
19
19
  @shared_task(pydantic=True, retry_kwargs={'max_retries': 5, 'countdown': 10})
20
20
  @async_to_sync_pro
21
21
  async def create_task(request: kolors_virtual_try_on.TryOnRequest, **kwargs):
22
+ if isinstance(request, dict):
23
+ request = kolors_virtual_try_on.TryOnRequest(**request)
24
+
22
25
  response = await kolors_virtual_try_on.create_task(request)
23
- return response
26
+ return response.model_dump()
24
27
 
25
28
 
26
29
  # celery_task
@@ -64,7 +64,8 @@ async def ado_pydantic_task_2(request: Request):
64
64
 
65
65
 
66
66
  @shared_task(pydantic=True)
67
- def do_pydantic_task(request: Request):
67
+ def do_pydantic_task(request: Request) -> Request:
68
+ logger.debug(request)
68
69
  return request
69
70
 
70
71
 
@@ -23,6 +23,7 @@ async def create_task(async_task, request: Union[BaseModel, dict]):
23
23
 
24
24
  result = async_task.apply_async(kwargs={"request": request})
25
25
  task_id = result.id
26
+
26
27
  return TaskResponse(task_id=task_id, request_id=task_id)
27
28
 
28
29
 
@@ -61,11 +62,17 @@ async def get_task(
61
62
 
62
63
  if result.ready():
63
64
  if result.successful():
64
- data = result.get() # TaskResponse
65
- token = data.pop("system_fingerprint", None) # 远程任务 token/apikey
65
+ data = result.get() # 创建任务时:remote task的返回结果
66
+
67
+ remote_task_id = (
68
+ data.get("task_id") # 远程任务 写在最外层
69
+ or data.get("id")
70
+ or data.get("request_id")
71
+ or data.get("data", {}).get("id")
72
+ or data.get("data", {}).get("task_id")
73
+ )
66
74
 
67
- # data.get('platform')
68
- # data.get('action')
75
+ token = data.pop("system_fingerprint", None) # 远程任务 token/apikey
69
76
 
70
77
  response = TaskResponse(
71
78
  task_id=task_id,
@@ -75,13 +82,13 @@ async def get_task(
75
82
  data=data
76
83
  )
77
84
 
78
- if remote_get_task: # 获取远程任务
79
- response: TaskResponse = await remote_get_task(task_id,
80
- token) # todo: 缓存一份,todo: user_id、platform/action
85
+ if remote_get_task: # 获取远程任务, todo: 判断函数类型
86
+ # todo: 缓存一份,todo: user_id、platform/action
87
+ remote_task_response = await remote_get_task(remote_task_id, token)
88
+ if not isinstance(remote_task_response, dict):
89
+ remote_task_response = remote_task_response.model_dump()
81
90
 
82
- if not isinstance(data, dict):
83
- data = data.model_dump()
84
- response.__dict__.update(data)
91
+ response.__dict__.update(remote_task_response) # 更新 response
85
92
 
86
93
  else:
87
94
  response = TaskResponse(
meutils/data/VERSION CHANGED
@@ -1 +1 @@
1
- 2024.11.29.20.35.32
1
+ 2024.11.29.21.10.57