MaaFw 2.0.2__py3-none-win_amd64.whl → 2.1.0__py3-none-win_amd64.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: MaaFw
3
- Version: 2.0.2
3
+ Version: 2.1.0
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
@@ -0,0 +1,28 @@
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=BpAotY8qlxLSKU0ZO249YDhJWU35B5avnwCTE5PxItQ,22160
5
+ maa/custom_action.py,sha256=pqPjDK7nVkGL8fceJadwb7IkeGjYc2X8RaXZOnVZXQs,2527
6
+ maa/custom_recognition.py,sha256=Y3Asdgb19YZioOVZZVs_hLSW6uBg7WDZDQPR2XfZpFU,3087
7
+ maa/define.py,sha256=nFPEOa7asyf4UG9kkeQrQaarXWbN0w-tSHoQWdZi_4s,11032
8
+ maa/job.py,sha256=Vj6q3sFPlmo260mxJWBnPuO2oT2LdZ-92vdDvrqBZYU,1777
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=6FOzU-PxWSA0dK8vEmiPVaJThvUMwNDi6EC6V-TcQmM,14758
13
+ maa/toolkit.py,sha256=TlF8MoaGcWLklpISIlQNvc_rpTFBFrpDbLgctfQ_zqo,11325
14
+ maa/bin/DirectML.dll,sha256=it3PSVO_NoJUHvoqZSbiQOjiMd-RqChTBrK5cl9CKWE,27383832
15
+ maa/bin/MaaAdbControlUnit.dll,sha256=DGgL9A26wypsKl2wsd0-2erBk9rHyTQtmfSNYPV6h6k,777728
16
+ maa/bin/MaaDbgControlUnit.dll,sha256=R_jg535tOYR0gWbSfzwXIm3aeoFR93eT8wSNio5101c,424448
17
+ maa/bin/MaaFramework.dll,sha256=bizCU6a8iqYSdKz4cTg-i21IsgdEGOmdP4NR9EfPIFw,1377792
18
+ maa/bin/MaaToolkit.dll,sha256=PU6EwGs3ca3sPy1MrNMwLWy__mLiHvES-lejR6PU9s4,693760
19
+ maa/bin/MaaUtils.dll,sha256=RmclX4zqZ20_-sr0FFhWGcWiYKOtTblm8Z0E8hw1Jzg,536064
20
+ maa/bin/MaaWin32ControlUnit.dll,sha256=T9ZcNcBs7KSUafPuNplMX0KQOxpO_fnF5qKOxDmBgJA,367104
21
+ maa/bin/fastdeploy_ppocr_maa.dll,sha256=4ri3FE9bJemUgZu3bsvDSPbqsioIFki1J-Ifk3qkKvg,564736
22
+ maa/bin/onnxruntime_maa.dll,sha256=cu4Z-EwQuqMuphxCt4Pho7XPlUcIEenPK9Tk90alBhc,14653440
23
+ maa/bin/opencv_world4_maa.dll,sha256=NtWJEx6Dg29Qqk493eAAU8O8zZ7Ym5UV6RQ0N0RG9RU,18230272
24
+ MaaFw-2.1.0.dist-info/LICENSE.md,sha256=RG51X65V_wNLuyG-RGcLXxFsKyZnlH5wNvK_5mMlOag,7560
25
+ MaaFw-2.1.0.dist-info/METADATA,sha256=LETsrB0lTcx-0T05Zj0FnWC51QbSIRJm-_VWQ4kTTL8,9428
26
+ MaaFw-2.1.0.dist-info/WHEEL,sha256=1lcNv5ya_rmBEsTRObX12WYzMCEm6jtegLvKau9-dKM,96
27
+ MaaFw-2.1.0.dist-info/top_level.txt,sha256=G8r2L__aYaMq4S3R70G6NsfEROiVp08kUcWvATzk2J8,4
28
+ MaaFw-2.1.0.dist-info/RECORD,,
Binary file
Binary file
maa/bin/MaaFramework.dll CHANGED
Binary file
maa/bin/MaaToolkit.dll CHANGED
Binary file
maa/bin/MaaUtils.dll CHANGED
Binary file
Binary file
maa/controller.py CHANGED
@@ -76,9 +76,9 @@ class Controller:
76
76
  )
77
77
  return self._gen_ctrl_job(ctrl_id)
78
78
 
79
- def post_stop_app(self, package: str) -> Job:
79
+ def post_stop_app(self, intent: str) -> Job:
80
80
  ctrl_id = Library.framework.MaaControllerPostStopApp(
81
- self._handle, package.encode()
81
+ self._handle, intent.encode()
82
82
  )
83
83
  return self._gen_ctrl_job(ctrl_id)
84
84
 
@@ -98,7 +98,7 @@ class Controller:
98
98
  )
99
99
  return self._gen_ctrl_job(ctrl_id)
100
100
 
101
- def post_touch_up(self, int, contact: int = 0) -> Job:
101
+ def post_touch_up(self, contact: int = 0) -> Job:
102
102
  ctrl_id = Library.framework.MaaControllerPostTouchUp(self._handle, contact)
103
103
  return self._gen_ctrl_job(ctrl_id)
104
104
 
maa/define.py CHANGED
@@ -49,6 +49,7 @@ MaaOptionValue = ctypes.c_void_p
49
49
  MaaOption = ctypes.c_int32
50
50
  MaaGlobalOption = MaaOption
51
51
  MaaCtrlOption = MaaOption
52
+ MaaResOption = MaaOption
52
53
 
53
54
 
54
55
  class MaaGlobalOptionEnum:
@@ -104,6 +105,27 @@ class MaaCtrlOptionEnum:
104
105
  Recording = 5
105
106
 
106
107
 
108
+ # enum MaaInferenceDeviceEnum
109
+ # {
110
+ # MaaInferenceDevice_CPU = -2,
111
+ # MaaInferenceDevice_Auto = -1,
112
+ # MaaInferenceDevice_GPU0 = 0,
113
+ # MaaInferenceDevice_GPU1 = 1,
114
+ # // and more gpu id...
115
+ # };
116
+ MaaInferenceDevice = ctypes.c_int32
117
+
118
+ class MaaResOptionEnum:
119
+ Invalid = 0
120
+
121
+ # Use the specified inference device.
122
+ # Please set this option before loading the model.
123
+ #
124
+ # value: MaaInferenceDevice, eg: 0; val_size: sizeof(MaaInferenceDevice)
125
+ # default value is MaaInferenceDevice_Auto
126
+ InferenceDevice = 1
127
+
128
+
107
129
  MaaAdbScreencapMethod = ctypes.c_uint64
108
130
 
109
131
 
@@ -124,7 +146,7 @@ class MaaAdbScreencapMethodEnum:
124
146
  EmulatorExtras = 1 << 6
125
147
 
126
148
  All = ~Null
127
- Default = All & (~MinicapDirect) & (~MinicapDirect)
149
+ Default = All & (~RawByNetcat) & (~MinicapDirect) & (~MinicapDirect)
128
150
 
129
151
 
130
152
  MaaAdbInputMethod = ctypes.c_uint64
@@ -33,7 +33,7 @@ class NotificationHandler(ABC):
33
33
  path: str
34
34
 
35
35
  def on_resource_loading(
36
- self, type: NotificationType, detail: ResourceLoadingDetail
36
+ self, noti_type: NotificationType, detail: ResourceLoadingDetail
37
37
  ):
38
38
  pass
39
39
 
@@ -44,7 +44,7 @@ class NotificationHandler(ABC):
44
44
  action: str
45
45
 
46
46
  def on_controller_action(
47
- self, type: NotificationType, detail: ControllerActionDetail
47
+ self, noti_type: NotificationType, detail: ControllerActionDetail
48
48
  ):
49
49
  pass
50
50
 
@@ -55,7 +55,7 @@ class NotificationHandler(ABC):
55
55
  uuid: str
56
56
  hash: str
57
57
 
58
- def on_tasker_task(self, type: NotificationType, detail: TaskerTaskDetail):
58
+ def on_tasker_task(self, noti_type: NotificationType, detail: TaskerTaskDetail):
59
59
  pass
60
60
 
61
61
  @dataclass
@@ -64,7 +64,9 @@ class NotificationHandler(ABC):
64
64
  name: str
65
65
  next_list: list[str]
66
66
 
67
- def on_task_next_list(self, type: NotificationType, detail: TaskNextListDetail):
67
+ def on_task_next_list(
68
+ self, noti_type: NotificationType, detail: TaskNextListDetail
69
+ ):
68
70
  pass
69
71
 
70
72
  @dataclass
@@ -74,7 +76,7 @@ class NotificationHandler(ABC):
74
76
  name: str
75
77
 
76
78
  def on_task_recognition(
77
- self, type: NotificationType, detail: TaskRecognitionDetail
79
+ self, noti_type: NotificationType, detail: TaskRecognitionDetail
78
80
  ):
79
81
  pass
80
82
 
@@ -84,7 +86,7 @@ class NotificationHandler(ABC):
84
86
  node_id: int
85
87
  name: str
86
88
 
87
- def on_task_action(self, type: NotificationType, detail: TaskActionDetail):
89
+ def on_task_action(self, noti_type: NotificationType, detail: TaskActionDetail):
88
90
  pass
89
91
 
90
92
  def on_unknown_notification(self, msg: str, details: dict):
@@ -92,7 +94,7 @@ class NotificationHandler(ABC):
92
94
 
93
95
  def on_raw_notification(self, msg: str, details: dict):
94
96
 
95
- type = NotificationHandler._notification_type(msg)
97
+ noti_type = NotificationHandler._notification_type(msg)
96
98
 
97
99
  if msg.startswith("Resource.Loading"):
98
100
  detail = self.ResourceLoadingDetail(
@@ -100,7 +102,7 @@ class NotificationHandler(ABC):
100
102
  hash=details["hash"],
101
103
  path=details["path"],
102
104
  )
103
- self.on_resource_loading(type, detail)
105
+ self.on_resource_loading(noti_type, detail)
104
106
 
105
107
  elif msg.startswith("Controller.Action"):
106
108
  detail = self.ControllerActionDetail(
@@ -108,7 +110,7 @@ class NotificationHandler(ABC):
108
110
  uuid=details["uuid"],
109
111
  action=details["action"],
110
112
  )
111
- self.on_controller_action(type, detail)
113
+ self.on_controller_action(noti_type, detail)
112
114
 
113
115
  elif msg.startswith("Tasker.Task"):
114
116
  detail = self.TaskerTaskDetail(
@@ -117,7 +119,7 @@ class NotificationHandler(ABC):
117
119
  uuid=details["uuid"],
118
120
  hash=details["hash"],
119
121
  )
120
- self.on_tasker_task(type, detail)
122
+ self.on_tasker_task(noti_type, detail)
121
123
 
122
124
  elif msg.startswith("Task.NextList"):
123
125
  detail = self.TaskNextListDetail(
@@ -125,7 +127,7 @@ class NotificationHandler(ABC):
125
127
  name=details["name"],
126
128
  next_list=details["list"],
127
129
  )
128
- self.on_task_next_list(type, detail)
130
+ self.on_task_next_list(noti_type, detail)
129
131
 
130
132
  elif msg.startswith("Task.Recognition"):
131
133
  detail = self.TaskRecognitionDetail(
@@ -133,7 +135,7 @@ class NotificationHandler(ABC):
133
135
  reco_id=details["reco_id"],
134
136
  name=details["name"],
135
137
  )
136
- self.on_task_recognition(type, detail)
138
+ self.on_task_recognition(noti_type, detail)
137
139
 
138
140
  elif msg.startswith("Task.Action"):
139
141
  detail = self.TaskActionDetail(
@@ -141,7 +143,7 @@ class NotificationHandler(ABC):
141
143
  node_id=details["node_id"],
142
144
  name=details["name"],
143
145
  )
144
- self.on_task_action(type, detail)
146
+ self.on_task_action(noti_type, detail)
145
147
 
146
148
  else:
147
149
  self.on_unknown_notification(msg, details)
maa/resource.py CHANGED
@@ -60,6 +60,19 @@ class Resource:
60
60
  def clear(self) -> bool:
61
61
  return bool(Library.framework.MaaResourceClear(self._handle))
62
62
 
63
+ def set_gpu(self, gpu_id: int) -> bool:
64
+ if gpu_id < 0:
65
+ return False
66
+ return self.set_inference_device(gpu_id)
67
+
68
+ def set_cpu(self) -> bool:
69
+ MaaInferenceDevice_CPU = -2
70
+ return self.set_inference_device(MaaInferenceDevice_CPU)
71
+
72
+ def set_auto_device(self) -> bool:
73
+ MaaInferenceDevice_Auto = -1
74
+ return self.set_inference_device(MaaInferenceDevice_Auto)
75
+
63
76
  def register_custom_recognition(
64
77
  self, name: str, recognition: "CustomRecognition" # type: ignore
65
78
  ) -> bool:
@@ -136,6 +149,17 @@ class Resource:
136
149
 
137
150
  ### private ###
138
151
 
152
+ def set_inference_device(self, device_id: int) -> bool:
153
+ cint = ctypes.c_int32(device_id)
154
+ return bool(
155
+ Library.framework.MaaResourceSetOption(
156
+ self._handle,
157
+ MaaResOptionEnum.InferenceDevice,
158
+ ctypes.pointer(cint),
159
+ ctypes.sizeof(ctypes.c_int32),
160
+ )
161
+ )
162
+
139
163
  def _status(self, id: int) -> ctypes.c_int32:
140
164
  return Library.framework.MaaResourceStatus(self._handle, id)
141
165
 
@@ -189,6 +213,14 @@ class Resource:
189
213
  MaaStringBufferHandle,
190
214
  ]
191
215
 
216
+ Library.framework.MaaResourceSetOption.restype = MaaBool
217
+ Library.framework.MaaResourceSetOption.argtypes = [
218
+ MaaResourceHandle,
219
+ MaaResOption,
220
+ MaaOptionValue,
221
+ MaaOptionValueSize,
222
+ ]
223
+
192
224
  Library.framework.MaaResourceRegisterCustomRecognition.restype = MaaBool
193
225
  Library.framework.MaaResourceRegisterCustomRecognition.argtypes = [
194
226
  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=F7BV221e0lPCElRD89mBJGJvXhNFe_QhvhV3yWSnKoY,22167
5
- maa/custom_action.py,sha256=pqPjDK7nVkGL8fceJadwb7IkeGjYc2X8RaXZOnVZXQs,2527
6
- maa/custom_recognition.py,sha256=Y3Asdgb19YZioOVZZVs_hLSW6uBg7WDZDQPR2XfZpFU,3087
7
- maa/define.py,sha256=Q1_C8-jyRYlZPytZB2Ur0Uyyr0SovxuOOEBg2XvXnjk,10451
8
- maa/job.py,sha256=Vj6q3sFPlmo260mxJWBnPuO2oT2LdZ-92vdDvrqBZYU,1777
9
- maa/library.py,sha256=nDTBUFC6_91gmyy8SfkTTccMZET9XGU8IxvuVUEwQ6E,2099
10
- maa/notification_handler.py,sha256=HtGmTFgTj7ibTdAIVNr5-LBn38trv_j6beHvYXUVFeg,5172
11
- maa/resource.py,sha256=SL0P0A4mmV8IbTMH36tP_AwjzGlCG8-SwLI4NOe30Ao,7204
12
- maa/tasker.py,sha256=6FOzU-PxWSA0dK8vEmiPVaJThvUMwNDi6EC6V-TcQmM,14758
13
- maa/toolkit.py,sha256=TlF8MoaGcWLklpISIlQNvc_rpTFBFrpDbLgctfQ_zqo,11325
14
- maa/bin/DirectML.dll,sha256=it3PSVO_NoJUHvoqZSbiQOjiMd-RqChTBrK5cl9CKWE,27383832
15
- maa/bin/MaaAdbControlUnit.dll,sha256=cqgTKSUXV9nwb7_ajasU740tRmDjrR7EjPqaZsoYWuc,768512
16
- maa/bin/MaaDbgControlUnit.dll,sha256=I8N8hLuNZewv9DEV31TBDNkIZZ39gFLTKMaTSNZW9R4,424448
17
- maa/bin/MaaFramework.dll,sha256=Wh_aPhb5OHcMD2RGujDQvy_Uz7sHEcsMGNR8woqgIrQ,1352704
18
- maa/bin/MaaToolkit.dll,sha256=o5z65huvVdJOQuGAy9wSBv8gXtr9wJaueIpeIzIAlAo,689664
19
- maa/bin/MaaUtils.dll,sha256=WdxRb9AC1Xl2vBxcsABHTMt4U2p4lBNaqleJUnJFxo8,536064
20
- maa/bin/MaaWin32ControlUnit.dll,sha256=Vi-azT8niYBq1ndS4dMIwVNaxZMToxRA220ONiia8Do,367104
21
- maa/bin/fastdeploy_ppocr_maa.dll,sha256=4ri3FE9bJemUgZu3bsvDSPbqsioIFki1J-Ifk3qkKvg,564736
22
- maa/bin/onnxruntime_maa.dll,sha256=cu4Z-EwQuqMuphxCt4Pho7XPlUcIEenPK9Tk90alBhc,14653440
23
- maa/bin/opencv_world4_maa.dll,sha256=NtWJEx6Dg29Qqk493eAAU8O8zZ7Ym5UV6RQ0N0RG9RU,18230272
24
- MaaFw-2.0.2.dist-info/LICENSE.md,sha256=RG51X65V_wNLuyG-RGcLXxFsKyZnlH5wNvK_5mMlOag,7560
25
- MaaFw-2.0.2.dist-info/METADATA,sha256=geSYqDHDfTd_V9z73fHzvxL8uCupX-HXQDHcYXBdk6w,9428
26
- MaaFw-2.0.2.dist-info/WHEEL,sha256=1lcNv5ya_rmBEsTRObX12WYzMCEm6jtegLvKau9-dKM,96
27
- MaaFw-2.0.2.dist-info/top_level.txt,sha256=G8r2L__aYaMq4S3R70G6NsfEROiVp08kUcWvATzk2J8,4
28
- MaaFw-2.0.2.dist-info/RECORD,,
File without changes