MaaFw 2.2.2__py3-none-win_arm64.whl → 2.3.0a2__py3-none-win_arm64.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 MaaFw might be problematic. Click here for more details.

@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: MaaFw
3
- Version: 2.2.2
3
+ Version: 2.3.0a2
4
4
  Summary: An automation black-box testing framework based on image recognition
5
5
  Author: MaaXYZ
6
6
  Project-URL: Homepage, https://github.com/MaaXYZ/MaaFramework
@@ -87,7 +87,7 @@ _✨ 基于图像识别的自动化黑盒测试框架 ✨_
87
87
  - [maa-whmx](https://github.com/MAWHA/maa-whmx) 物华弥新 小助手 ![cpp](https://img.shields.io/badge/C%2B%2B-00599C?logo=c%2B%2B&logoColor=white) ![qt](https://img.shields.io/badge/Qt6-41CD52?logo=Qt&logoColor=white)
88
88
  基于全新架构的 物华弥新 小助手。图像技术 + 模拟控制,解放双手!由 MaaFramework 强力驱动!
89
89
 
90
- - [MAA-for-Millennium-Tour](https://github.com/Ostwind23/MAA-for-Millennium-Tour) 千年之旅 小助手 ![Pipeline](https://img.shields.io/badge/Pipeline-%23454545?logo=codecademy&logoColor=%23FFFFFF&color=%23454545) ![python](https://img.shields.io/badge/Python-3776AB?logo=python&logoColor=white)
90
+ - [MAA-for-Millennium-Tour](https://github.com/Ostwind23/MAA-for-Millennium-Tour) 千年之旅 小助手 ![Pipeline](https://img.shields.io/badge/Pipeline-%23454545?logo=codecademy&logoColor=%23FFFFFF&color=%23454545) ![python](https://img.shields.io/badge/Python-3776AB?logo=python&logoColor=white)
91
91
  基于全新架构的 千年之旅 小助手。图像技术 + 模拟控制,解放侍主的大手!由 MaaFramework 强力驱动!
92
92
 
93
93
  - [MFAWPF](https://github.com/SweetSmellFox/MFAWPF) MFA 任务管理器 ![csharp](https://img.shields.io/badge/C%23-239120?logo=csharp&logoColor=white)
@@ -104,7 +104,13 @@ _✨ 基于图像识别的自动化黑盒测试框架 ✨_
104
104
 
105
105
  - [MPA](https://github.com/overflow65537/MAA_Punish) 战双 小助手 ![Pipeline](https://img.shields.io/badge/Pipeline-%23454545?logo=paddypower&logoColor=%23FFFFFF)
106
106
  基于全新架构的 战双帕弥什 小助手。图像技术 + 模拟控制,解放双手!由 玛丽的黑咖啡 2.0 强力驱动!
107
-
107
+
108
+ - [MaaYuan](https://github.com/syoius/MaaYuan) 代号鸢/如鸢 一键长草小助手 ![Pipeline](https://img.shields.io/badge/Pipeline-%23454545?logo=paddypower&logoColor=%23FFFFFF)
109
+ 基于全新架构的 代号鸢/如鸢 小助手。图像技术 + 模拟控制,解放双手!由 MaaFramework 强力驱动!
110
+
111
+ - [MFW-ELE-GUI](https://github.com/Night-stars-1/maa-gui) MFW-ELE-GUI ![Typescript](https://img.shields.io/badge/Typescript-8A2BE2?logo=typescript) ![Electron](https://img.shields.io/badge/Electron-3776AB?logo=electron&logoColor=black)
112
+ 基于全新架构的 MFW-ELE-GUI。由 MaaFramework 强力驱动!
113
+
108
114
  ## 生态共建
109
115
 
110
116
  MAA 正计划建设为一类项目,而非舟的单一软件。
@@ -159,9 +165,7 @@ _请留意,仅当您准备开发 MaaFramework 本身时,才需要阅读本
159
165
 
160
166
  感谢以下开发者对 MaaFramework 作出的贡献:
161
167
 
162
- <a href="https://github.com/MaaXYZ/MaaFramework/graphs/contributors">
163
- <img src="https://contrib.rocks/image?repo=MaaXYZ/MaaFramework&max=1000" />
164
- </a>
168
+ [![Contributors](https://contrib.rocks/image?repo=MaaXYZ/MaaFramework&max=1000)](https://github.com/MaaXYZ/MaaFramework/graphs/contributors)
165
169
 
166
170
  ## 讨论
167
171
 
@@ -169,6 +173,7 @@ _请留意,仅当您准备开发 MaaFramework 本身时,才需要阅读本
169
173
 
170
174
  ## 赞助
171
175
 
176
+ <!-- markdownlint-disable MD045 -->
172
177
  <a href="https://afdian.com/a/misteo">
173
178
  <img width="200" src="https://pic1.afdiancdn.com/static/img/welcome/button-sponsorme.png">
174
179
  </a>
@@ -0,0 +1,29 @@
1
+ maa/__init__.py,sha256=rBIC5X_VsfFXOMJRdKjgDyO428XHgeWAT3t6ZYmqO1M,207
2
+ maa/buffer.py,sha256=E0tuasXPm6A_4r22PGSwObgGXb2qCMJrT5yrAvcgk6I,17424
3
+ maa/context.py,sha256=Y71T92tIAGq6x8bJfYX8emUPEmPUA7nhnWgqOHh390E,5722
4
+ maa/controller.py,sha256=VOz4Und15toq6oehHR0BHC10LMhFVqKAcImQNXCqHxQ,22547
5
+ maa/custom_action.py,sha256=pqPjDK7nVkGL8fceJadwb7IkeGjYc2X8RaXZOnVZXQs,2527
6
+ maa/custom_recognition.py,sha256=Y3Asdgb19YZioOVZZVs_hLSW6uBg7WDZDQPR2XfZpFU,3087
7
+ maa/define.py,sha256=uvqM04p6NLfju1Zz-EMR-8Af8MZGpEImMAt3QdcYvIA,13114
8
+ maa/job.py,sha256=jXGQ4YV_G8sAi-B7OmUrbPCEIf4xZjWqCSr36LT6Qt0,1153
9
+ maa/library.py,sha256=nDTBUFC6_91gmyy8SfkTTccMZET9XGU8IxvuVUEwQ6E,2099
10
+ maa/notification_handler.py,sha256=KjQlu66fNVwGGli8kuhNdSZPj2vO_oXjaNt_B1i_5wA,5251
11
+ maa/resource.py,sha256=74mQvWr4ZYkE2Y3g7ranbai5XEYhQdUAP7SW_U8GrgI,9512
12
+ maa/tasker.py,sha256=NZQOdJ9BKHQp4sfc0pKbXtF_m8ddnMPYng0KsGK9mbg,14599
13
+ maa/toolkit.py,sha256=TlF8MoaGcWLklpISIlQNvc_rpTFBFrpDbLgctfQ_zqo,11325
14
+ maa/bin/DirectML.dll,sha256=d7Dbg_-QPyMj9cr1OEmdda9gOLvqI7eVn30jLZpKudQ,18444832
15
+ maa/bin/MaaAdbControlUnit.dll,sha256=GgniamWtUSJW6LI150njSHZIXi9N4NUvWld6EXj97jI,892928
16
+ maa/bin/MaaDbgControlUnit.dll,sha256=PjSX6bXpITwOhbhL_pBv-Zmaw7LheMizu2870vqca8s,450048
17
+ maa/bin/MaaFramework.dll,sha256=1VWJqaDPCaQAvRRdvhwQyMofnmJBBPHKG_PK8fTDZRU,1760256
18
+ maa/bin/MaaNode.node,sha256=DDLhKqt4EppSHFJML-dPBeJlQrVwL3aaRFUnchz_b9E,628736
19
+ maa/bin/MaaToolkit.dll,sha256=uPpS0UBA8v8FR1zfrqpo0bk-mOCJzDbuBizXijZTe4Y,748032
20
+ maa/bin/MaaUtils.dll,sha256=EIAIObc2rylXU3jtVIwhsCzzhf9v3yGqPumOG36Cohs,624128
21
+ maa/bin/MaaWin32ControlUnit.dll,sha256=BsELfUnef9S0rmFoMbKxGULrI7Yr8Re-5mF1mfIff3k,409088
22
+ maa/bin/fastdeploy_ppocr_maa.dll,sha256=lidtCQOzeYsOBcEJzcuhynypH1fkibZa-uBlcO0hx6g,1097728
23
+ maa/bin/onnxruntime_maa.dll,sha256=76uDwY3lectM4kzFxzK8qKL9cOsUrV5QsuNgh8Q74jo,19155456
24
+ maa/bin/opencv_world4_maa.dll,sha256=zmZOpjQHQ4y24pbPJvQjQcfMM5paGKzkYf1GB3TWTj0,15078400
25
+ MaaFw-2.3.0a2.dist-info/LICENSE.md,sha256=RG51X65V_wNLuyG-RGcLXxFsKyZnlH5wNvK_5mMlOag,7560
26
+ MaaFw-2.3.0a2.dist-info/METADATA,sha256=RRj8xi_rBmUBOJfbIuyomaUaM1IBxTLDjlzvoqOg6As,11041
27
+ MaaFw-2.3.0a2.dist-info/WHEEL,sha256=PhpqtLE2cPvexGD-EPObNI73ls8xo2gX9HjYnFs2vUQ,95
28
+ MaaFw-2.3.0a2.dist-info/top_level.txt,sha256=G8r2L__aYaMq4S3R70G6NsfEROiVp08kUcWvATzk2J8,4
29
+ MaaFw-2.3.0a2.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (75.6.0)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-win_arm64
maa/bin/DirectML.dll CHANGED
Binary file
Binary file
Binary file
maa/bin/MaaFramework.dll CHANGED
Binary file
maa/bin/MaaNode.node ADDED
Binary file
maa/bin/MaaToolkit.dll CHANGED
Binary file
maa/bin/MaaUtils.dll CHANGED
Binary file
Binary file
Binary file
Binary file
Binary file
maa/define.py CHANGED
@@ -110,15 +110,33 @@ class MaaCtrlOptionEnum:
110
110
  Recording = 5
111
111
 
112
112
 
113
- # enum MaaInferenceDeviceEnum
114
- # {
115
- # MaaInferenceDevice_CPU = -2,
116
- # MaaInferenceDevice_Auto = -1,
117
- # MaaInferenceDevice_GPU0 = 0,
118
- # MaaInferenceDevice_GPU1 = 1,
119
- # // and more gpu id...
120
- # };
121
- MaaInferenceDevice = ctypes.c_int32
113
+ class MaaInferenceDeviceEnum:
114
+ CPU = -2
115
+ Auto = -1
116
+ # and more gpu id or flag...
117
+
118
+
119
+ class MaaInferenceExecutionProviderEnum:
120
+ # I don't recommend setting up MaaResOption_InferenceDevice in this case,
121
+ # because you don't know which EP will be used on different user devices.
122
+ Auto = 0
123
+
124
+ # MaaResOption_InferenceDevice will not work.
125
+ CPU = 1
126
+
127
+ # MaaResOption_InferenceDevice will be used to set adapter id,
128
+ # It's from Win32 API `EnumAdapters1`.
129
+ DirectML = 2
130
+
131
+ # MaaResOption_InferenceDevice will be used to set coreml_flag,
132
+ # Reference to
133
+ # https://github.com/microsoft/onnxruntime/blob/main/include/onnxruntime/core/providers/coreml/coreml_provider_factory.h
134
+ # But you need to pay attention to the onnxruntime version we use, the latest flag may not be supported.
135
+ CoreML = 3
136
+
137
+ # MaaResOption_InferenceDevice will be used to set NVIDIA GPU ID
138
+ # TODO!
139
+ CUDA = 4
122
140
 
123
141
 
124
142
  class MaaResOptionEnum:
@@ -131,6 +149,13 @@ class MaaResOptionEnum:
131
149
  # default value is MaaInferenceDevice_Auto
132
150
  InferenceDevice = 1
133
151
 
152
+ # Use the specified inference execution provider
153
+ # Please set this option before loading the model.
154
+ #
155
+ # value: MaaInferenceExecutionProvider, eg: 0; val_size: sizeof(MaaInferenceExecutionProvider)
156
+ # default value is MaaInferenceExecutionProvider_Auto
157
+ InferenceExecutionProvider = 2
158
+
134
159
 
135
160
  MaaAdbScreencapMethod = ctypes.c_uint64
136
161
 
maa/resource.py CHANGED
@@ -60,18 +60,45 @@ class Resource:
60
60
  def clear(self) -> bool:
61
61
  return bool(Library.framework.MaaResourceClear(self._handle))
62
62
 
63
+ def use_cpu(self) -> bool:
64
+ return self.set_inference(
65
+ MaaInferenceExecutionProviderEnum.CPU, MaaInferenceDeviceEnum.CPU
66
+ )
67
+
68
+ def use_directml(self, device_id: int = MaaInferenceDeviceEnum.Auto) -> bool:
69
+ return self.set_inference(MaaInferenceExecutionProviderEnum.DirectML, device_id)
70
+
71
+ def use_coreml(self, coreml_flag: int = MaaInferenceDeviceEnum.Auto) -> bool:
72
+ return self.set_inference(MaaInferenceExecutionProviderEnum.CoreML, coreml_flag)
73
+
74
+ def use_auto_ep(self) -> bool:
75
+ return self.set_inference(
76
+ MaaInferenceExecutionProviderEnum.Auto, MaaInferenceDeviceEnum.Auto
77
+ )
78
+
79
+ # not implemented
80
+ # def use_cuda(self, nvidia_gpu_id: int) -> bool:
81
+ # return self.set_inference(MaaInferenceExecutionProviderEnum.CUDA, nvidia_gpu_id)
82
+
63
83
  def set_gpu(self, gpu_id: int) -> bool:
84
+ """
85
+ Deprecated, please use `use_directml`, `use_coreml` or `use_cuda` instead.
86
+ """
64
87
  if gpu_id < 0:
65
88
  return False
66
- return self.set_inference_device(gpu_id)
89
+ return self.use_directml(gpu_id)
67
90
 
68
91
  def set_cpu(self) -> bool:
69
- MaaInferenceDevice_CPU = -2
70
- return self.set_inference_device(MaaInferenceDevice_CPU)
71
-
92
+ """
93
+ Deprecated, please use `use_cpu` instead.
94
+ """
95
+ return self.use_cpu()
96
+
72
97
  def set_auto_device(self) -> bool:
73
- MaaInferenceDevice_Auto = -1
74
- return self.set_inference_device(MaaInferenceDevice_Auto)
98
+ """
99
+ Deprecated, please use `use_auto_ep` instead.
100
+ """
101
+ return self.use_auto_ep()
75
102
 
76
103
  def register_custom_recognition(
77
104
  self, name: str, recognition: "CustomRecognition" # type: ignore
@@ -149,13 +176,21 @@ class Resource:
149
176
 
150
177
  ### private ###
151
178
 
152
- def set_inference_device(self, device_id: int) -> bool:
153
- cint = ctypes.c_int32(device_id)
179
+ def set_inference(self, execution_provider: int, device_id: int) -> bool:
180
+ cep = ctypes.c_int32(execution_provider)
181
+ cdevice = ctypes.c_int32(device_id)
154
182
  return bool(
183
+ Library.framework.MaaResourceSetOption(
184
+ self._handle,
185
+ MaaResOptionEnum.InferenceExecutionProvider,
186
+ ctypes.pointer(cep),
187
+ ctypes.sizeof(ctypes.c_int32),
188
+ )
189
+ ) and bool(
155
190
  Library.framework.MaaResourceSetOption(
156
191
  self._handle,
157
192
  MaaResOptionEnum.InferenceDevice,
158
- ctypes.pointer(cint),
193
+ ctypes.pointer(cdevice),
159
194
  ctypes.sizeof(ctypes.c_int32),
160
195
  )
161
196
  )
maa/tasker.py CHANGED
@@ -92,8 +92,8 @@ class Tasker:
92
92
  return bool(Library.framework.MaaTaskerRunning(self._handle))
93
93
 
94
94
  def post_stop(self) -> Job:
95
- Library.framework.MaaTaskerPostStop(self._handle)
96
- return Job(MaaId(0), self._stop_status, self._stop_wait)
95
+ taskid = Library.framework.MaaTaskerPostStop(self._handle)
96
+ return self._gen_task_job(taskid)
97
97
 
98
98
  def get_latest_node(self, name: str) -> Optional[NodeDetail]:
99
99
  c_node_id = MaaNodeId()
@@ -201,15 +201,6 @@ class Tasker:
201
201
  def _task_wait(self, id: int) -> ctypes.c_int32:
202
202
  return Library.framework.MaaTaskerWait(self._handle, id)
203
203
 
204
- def _stop_status(self, id: int) -> MaaStatusEnum:
205
- return MaaStatusEnum.succeeded if not self.running else MaaStatusEnum.running
206
-
207
- def _stop_wait(self, id: int) -> MaaStatusEnum:
208
- # TODO: 这个应该由 callback 来处理
209
- while self.running:
210
- time.sleep(0.1)
211
- return MaaStatusEnum.succeeded
212
-
213
204
  def get_recognition_detail(self, reco_id: int) -> Optional[RecognitionDetail]:
214
205
  name = StringBuffer()
215
206
  algorithm = StringBuffer()
@@ -316,7 +307,9 @@ class Tasker:
316
307
  detail = self.get_node_detail(int(c_node_id_list[i]))
317
308
  nodes.append(detail)
318
309
 
319
- return TaskDetail(task_id=task_id, entry=entry.get(), nodes=nodes, status=Status(status))
310
+ return TaskDetail(
311
+ task_id=task_id, entry=entry.get(), nodes=nodes, status=Status(status)
312
+ )
320
313
 
321
314
  _api_properties_initialized: bool = False
322
315
 
@@ -398,7 +391,7 @@ class Tasker:
398
391
  Library.framework.MaaTaskerRunning.restype = MaaBool
399
392
  Library.framework.MaaTaskerRunning.argtypes = [MaaTaskerHandle]
400
393
 
401
- Library.framework.MaaTaskerPostStop.restype = MaaBool
394
+ Library.framework.MaaTaskerPostStop.restype = MaaTaskId
402
395
  Library.framework.MaaTaskerPostStop.argtypes = [MaaTaskerHandle]
403
396
 
404
397
  Library.framework.MaaTaskerGetResource.restype = MaaResourceHandle
@@ -1,28 +0,0 @@
1
- maa/__init__.py,sha256=rBIC5X_VsfFXOMJRdKjgDyO428XHgeWAT3t6ZYmqO1M,207
2
- maa/buffer.py,sha256=E0tuasXPm6A_4r22PGSwObgGXb2qCMJrT5yrAvcgk6I,17424
3
- maa/context.py,sha256=Y71T92tIAGq6x8bJfYX8emUPEmPUA7nhnWgqOHh390E,5722
4
- maa/controller.py,sha256=VOz4Und15toq6oehHR0BHC10LMhFVqKAcImQNXCqHxQ,22547
5
- maa/custom_action.py,sha256=pqPjDK7nVkGL8fceJadwb7IkeGjYc2X8RaXZOnVZXQs,2527
6
- maa/custom_recognition.py,sha256=Y3Asdgb19YZioOVZZVs_hLSW6uBg7WDZDQPR2XfZpFU,3087
7
- maa/define.py,sha256=klaIWvNS5DDgKo6EC330EqqWlKQ4JLCOHZ8d7Ifaoqo,12126
8
- maa/job.py,sha256=jXGQ4YV_G8sAi-B7OmUrbPCEIf4xZjWqCSr36LT6Qt0,1153
9
- maa/library.py,sha256=nDTBUFC6_91gmyy8SfkTTccMZET9XGU8IxvuVUEwQ6E,2099
10
- maa/notification_handler.py,sha256=KjQlu66fNVwGGli8kuhNdSZPj2vO_oXjaNt_B1i_5wA,5251
11
- maa/resource.py,sha256=bvS02sCCS9DRw_zJZeyCk8_DrZry6KBlUIvcfpKoUIg,8243
12
- maa/tasker.py,sha256=0hALFCHKHuOBQMSqyG4BYi1idJLy64UZMpqL4GQVZKs,14929
13
- maa/toolkit.py,sha256=TlF8MoaGcWLklpISIlQNvc_rpTFBFrpDbLgctfQ_zqo,11325
14
- maa/bin/DirectML.dll,sha256=kKkjnHnpdU1DaqjDsmzb0kvkcQapZyWbPOlVnUesdm0,18444832
15
- maa/bin/MaaAdbControlUnit.dll,sha256=Xj6dr5CXq1wCSOUCaSgbDX3xk94yDnZq8LalZ7jmSA4,873984
16
- maa/bin/MaaDbgControlUnit.dll,sha256=3UpE9bwiagC8WWE5H8rW_kTKLCAkilAY3FyzSWwX5Fc,444416
17
- maa/bin/MaaFramework.dll,sha256=UlJSWmoyFa2DZxMDxCBxgUUd5zdEFZitIOJAzYVMuNY,1631744
18
- maa/bin/MaaToolkit.dll,sha256=WB71L0UmpDAJzr-cr_wT-08iHhDm4VLTlew60l97DIM,737792
19
- maa/bin/MaaUtils.dll,sha256=NZhGA01sVLBK0YIGgnrm0racpMBW6RgQNEw-quBDCOI,615936
20
- maa/bin/MaaWin32ControlUnit.dll,sha256=c9jprCAEpgyVIvfpD3tvfdmCVy8GvdJ89W-Nrcutw2w,405504
21
- maa/bin/fastdeploy_ppocr_maa.dll,sha256=jvgWCaYUa3WuQrgv1hdwXDw1RzUDqoBgeHOrhQqREUY,554496
22
- maa/bin/onnxruntime_maa.dll,sha256=vPdKG3NKeQqiEiMlPT1ySp2Bc0xwtL8EBriPkTaQEbs,14471680
23
- maa/bin/opencv_world4_maa.dll,sha256=FudjT3gIzkZNBAMFd-YxtM3D8PgHPqXnHRvgH5iRImw,14958592
24
- MaaFw-2.2.2.dist-info/LICENSE.md,sha256=RG51X65V_wNLuyG-RGcLXxFsKyZnlH5wNvK_5mMlOag,7560
25
- MaaFw-2.2.2.dist-info/METADATA,sha256=-Jr7OovF3t1PTdM7qWd5yvWkG7pGBXz5xfJEQjW7K88,10390
26
- MaaFw-2.2.2.dist-info/WHEEL,sha256=56dCSEt9kxiG1BpXg6NxqPFNanuqDWBpqzKbo9FEums,95
27
- MaaFw-2.2.2.dist-info/top_level.txt,sha256=G8r2L__aYaMq4S3R70G6NsfEROiVp08kUcWvATzk2J8,4
28
- MaaFw-2.2.2.dist-info/RECORD,,
@@ -1,4 +0,0 @@
1
- Wheel-Version: 1.0
2
- Generator: setuptools (75.3.0)
3
- Root-Is-Purelib: true
4
- Tag: py3-none-win_arm64