magnax 1.0.0__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.
Files changed (87) hide show
  1. magnax/__init__.py +3 -0
  2. magnax/__main__.py +25 -0
  3. magnax/debug.py +65 -0
  4. magnax/public/__init__.py +1 -0
  5. magnax/public/adb/linux/adb +0 -0
  6. magnax/public/adb/linux_arm/adb +0 -0
  7. magnax/public/adb/mac/adb +0 -0
  8. magnax/public/adb/windows/AdbWinApi.dll +0 -0
  9. magnax/public/adb/windows/AdbWinUsbApi.dll +0 -0
  10. magnax/public/adb/windows/adb.exe +0 -0
  11. magnax/public/adb.py +96 -0
  12. magnax/public/android_fps.py +750 -0
  13. magnax/public/apm.py +1306 -0
  14. magnax/public/apm_pk.py +184 -0
  15. magnax/public/common.py +1598 -0
  16. magnax/public/config.json +1 -0
  17. magnax/public/ios_perf_adapter.py +790 -0
  18. magnax/public/report_template/android.html +526 -0
  19. magnax/public/report_template/ios.html +482 -0
  20. magnax/public/scrcpy/scrcpy-win32-v2.4/AdbWinApi.dll +0 -0
  21. magnax/public/scrcpy/scrcpy-win32-v2.4/AdbWinUsbApi.dll +0 -0
  22. magnax/public/scrcpy/scrcpy-win32-v2.4/SDL2.dll +0 -0
  23. magnax/public/scrcpy/scrcpy-win32-v2.4/adb.exe +0 -0
  24. magnax/public/scrcpy/scrcpy-win32-v2.4/avcodec-60.dll +0 -0
  25. magnax/public/scrcpy/scrcpy-win32-v2.4/avformat-60.dll +0 -0
  26. magnax/public/scrcpy/scrcpy-win32-v2.4/avutil-58.dll +0 -0
  27. magnax/public/scrcpy/scrcpy-win32-v2.4/icon.png +0 -0
  28. magnax/public/scrcpy/scrcpy-win32-v2.4/libusb-1.0.dll +0 -0
  29. magnax/public/scrcpy/scrcpy-win32-v2.4/open_a_terminal_here.bat +1 -0
  30. magnax/public/scrcpy/scrcpy-win32-v2.4/scrcpy-console.bat +2 -0
  31. magnax/public/scrcpy/scrcpy-win32-v2.4/scrcpy-noconsole.vbs +7 -0
  32. magnax/public/scrcpy/scrcpy-win32-v2.4/scrcpy-server +0 -0
  33. magnax/public/scrcpy/scrcpy-win32-v2.4/scrcpy.exe +0 -0
  34. magnax/public/scrcpy/scrcpy-win32-v2.4/swresample-4.dll +0 -0
  35. magnax/public/scrcpy/scrcpy-win64-v2.4/AdbWinApi.dll +0 -0
  36. magnax/public/scrcpy/scrcpy-win64-v2.4/AdbWinUsbApi.dll +0 -0
  37. magnax/public/scrcpy/scrcpy-win64-v2.4/SDL2.dll +0 -0
  38. magnax/public/scrcpy/scrcpy-win64-v2.4/avformat-60.dll +0 -0
  39. magnax/public/scrcpy/scrcpy-win64-v2.4/avutil-58.dll +0 -0
  40. magnax/public/scrcpy/scrcpy-win64-v2.4/open_a_terminal_here.bat +1 -0
  41. magnax/public/scrcpy/scrcpy-win64-v2.4/scrcpy-noconsole.vbs +7 -0
  42. magnax/public/scrcpy/scrcpy-win64-v2.4/scrcpy-server +0 -0
  43. magnax/public/scrcpy/scrcpy-win64-v2.4/scrcpy.exe +0 -0
  44. magnax/public/scrcpy/scrcpy-win64-v2.4/swresample-4.dll +0 -0
  45. magnax/static/css/highlight.min.css +9 -0
  46. magnax/static/css/magnax-dark-theme.css +1237 -0
  47. magnax/static/css/select2-bootstrap-5-theme.min.css +3 -0
  48. magnax/static/css/select2-bootstrap-5-theme.rtl.min.css +3 -0
  49. magnax/static/css/select2.min.css +1 -0
  50. magnax/static/css/sweetalert2.min.css +1 -0
  51. magnax/static/css/tabler.demo.min.css +9 -0
  52. magnax/static/css/tabler.min.css +14 -0
  53. magnax/static/image/500.png +0 -0
  54. magnax/static/image/avatar.png +0 -0
  55. magnax/static/image/empty.png +0 -0
  56. magnax/static/image/readme/home.png +0 -0
  57. magnax/static/image/readme/pk.png +0 -0
  58. magnax/static/js/apexcharts.js +14 -0
  59. magnax/static/js/gray.js +16 -0
  60. magnax/static/js/highlight.min.js +1173 -0
  61. magnax/static/js/highstock.js +803 -0
  62. magnax/static/js/html2canvas.min.js +20 -0
  63. magnax/static/js/jquery.min.js +2 -0
  64. magnax/static/js/magnax-chart-theme.js +492 -0
  65. magnax/static/js/select2.min.js +2 -0
  66. magnax/static/js/sweetalert2.min.js +1 -0
  67. magnax/static/js/tabler.demo.min.js +9 -0
  68. magnax/static/js/tabler.min.js +9 -0
  69. magnax/static/logo/logo.png +0 -0
  70. magnax/templates/404.html +30 -0
  71. magnax/templates/analysis.html +1375 -0
  72. magnax/templates/analysis_compare.html +600 -0
  73. magnax/templates/analysis_pk.html +680 -0
  74. magnax/templates/base.html +365 -0
  75. magnax/templates/index.html +2471 -0
  76. magnax/templates/pk.html +743 -0
  77. magnax/templates/report.html +416 -0
  78. magnax/view/__init__.py +1 -0
  79. magnax/view/apis.py +952 -0
  80. magnax/view/pages.py +146 -0
  81. magnax/web.py +345 -0
  82. magnax-1.0.0.dist-info/METADATA +242 -0
  83. magnax-1.0.0.dist-info/RECORD +87 -0
  84. magnax-1.0.0.dist-info/WHEEL +5 -0
  85. magnax-1.0.0.dist-info/entry_points.txt +2 -0
  86. magnax-1.0.0.dist-info/licenses/LICENSE +21 -0
  87. magnax-1.0.0.dist-info/top_level.txt +1 -0
@@ -0,0 +1,242 @@
1
+ Metadata-Version: 2.4
2
+ Name: magnax
3
+ Version: 1.0.0
4
+ Summary: MagnaX - Real-time collection tool for Android/iOS performance data.
5
+ Home-page: https://github.com/smart-test-ti/MagnaX
6
+ Author: Rafa Chen
7
+ Author-email: Rafa Chen <rafacheninc@gmail.com>
8
+ License-Expression: MIT
9
+ Project-URL: Homepage, https://github.com/smart-test-ti/MagnaX
10
+ Project-URL: Repository, https://github.com/smart-test-ti/MagnaX
11
+ Project-URL: Documentation, https://github.com/smart-test-ti/MagnaX#readme
12
+ Project-URL: Issues, https://github.com/smart-test-ti/MagnaX/issues
13
+ Keywords: android,ios,performance,testing,monitoring,apm
14
+ Classifier: Development Status :: 4 - Beta
15
+ Classifier: Environment :: Console
16
+ Classifier: Environment :: Web Environment
17
+ Classifier: Intended Audience :: Developers
18
+ Classifier: Operating System :: OS Independent
19
+ Classifier: Programming Language :: Python :: 3
20
+ Classifier: Programming Language :: Python :: 3.10
21
+ Classifier: Programming Language :: Python :: 3.11
22
+ Classifier: Programming Language :: Python :: 3.12
23
+ Classifier: Programming Language :: Python :: 3.13
24
+ Classifier: Programming Language :: Python :: 3.14
25
+ Classifier: Topic :: Software Development :: Testing
26
+ Classifier: Topic :: System :: Monitoring
27
+ Requires-Python: >=3.10
28
+ Description-Content-Type: text/markdown
29
+ License-File: LICENSE
30
+ Requires-Dist: flask>=3.1.0
31
+ Requires-Dist: requests>=2.28.2
32
+ Requires-Dist: loguru
33
+ Requires-Dist: fire
34
+ Requires-Dist: tqdm
35
+ Requires-Dist: openpyxl>=3.1.0
36
+ Requires-Dist: pyfiglet
37
+ Requires-Dist: psutil
38
+ Requires-Dist: opencv-python
39
+ Requires-Dist: pymobiledevice3>=2.0.0
40
+ Requires-Dist: py-ios-device>=2.0.0
41
+ Dynamic: author
42
+ Dynamic: home-page
43
+ Dynamic: license-file
44
+ Dynamic: requires-python
45
+
46
+ <p align="center">
47
+ <a>English</a> | <a href="./README.zh.md">中文</a> | <a href="./FAQ.md">FAQ</a> | <a href="https://mp.weixin.qq.com/s?__biz=MzkxMzYyNDM2NA==&mid=2247484506&idx=1&sn=b7eb6de68f84bed03001375d08e08ce9&chksm=c17b9819f60c110fd14e652c104237821b95a13da04618e98d2cf27afa798cb45e53cf50f5bd&token=1402046775&lang=zh_CN&poc_token=HKmRi2WjP7gf9CVwvLWQ2cRhrUR3wmbB9-fNZdD4" target="__blank">使用文档</a>
48
+ </p>
49
+
50
+ <p align="center">
51
+ <a href="#">
52
+ <img src="https://cdn.nlark.com/yuque/0/2024/png/153412/1715927541315-fb4f7662-d8bb-4d3e-a712-13a3c3073ac8.png?x-oss-process=image%2Fformat%2Cwebp" alt="MagnaX" width="100">
53
+ </a>
54
+ <br>
55
+ </p>
56
+ <p align="center">
57
+ <a href="https://pypi.org/project/magnax/" target="__blank"><img src="https://img.shields.io/pypi/v/magnax" alt="magnax preview"></a>
58
+ <a href="https://pepy.tech/project/magnax" target="__blank"><img src="https://static.pepy.tech/personalized-badge/magnax?period=total&units=international_system&left_color=grey&right_color=orange&left_text=downloads"></a>
59
+
60
+ <br>
61
+ </p>
62
+
63
+ ## 🔎Preview
64
+
65
+ MagnaX - Real-time collection tool for Android/iOS performance data.
66
+
67
+ Quickly locate and analyze performance issues to improve application performance and quality. No need for ROOT/jailbreak, plug and play.
68
+
69
+ ![10 161 9 178_50003__platform=Android lan=en (1)](https://github.com/smart-test-ti/MagnaX/assets/24454096/61a0b801-23b4-4711-8215-51cd7bc9dc04)
70
+
71
+ ## 📦Requirements
72
+
73
+ - Install Python 3.10 + (supports up to Python 3.14) [**Download**](https://www.python.org/downloads/)
74
+ - Install adb and configure environment variables (MagnaX's adb may not necessarily fit your computer) [**Download**](https://developer.android.com/studio/releases/platform-tools)
75
+
76
+ 💡 If Windows users need to test iOS, install and start iTunes. [**Documentation**](https://github.com/alibaba/taobao-iphone-device)
77
+
78
+ 💡 For iOS 17+ devices, you need to start the pymobiledevice3 tunnel service first:
79
+
80
+ ```shell
81
+ # macOS/Linux (requires sudo)
82
+ sudo python3 -m pymobiledevice3 remote start-tunnel
83
+
84
+ # Or run as a background daemon
85
+ sudo python3 -m pymobiledevice3 remote tunneld
86
+ ```
87
+
88
+ ## 📥Installation
89
+
90
+ ### default
91
+
92
+ ```shell
93
+ pip install -U magnax (pip install magnax==version)
94
+ ```
95
+
96
+ ### mirrors
97
+
98
+ ```shell
99
+ pip install -i https://mirrors.ustc.edu.cn/pypi/web/simple -U magnax
100
+ ```
101
+
102
+ 💡 If your network is unable to download through [pip install -U magnax], please try using mirrors to download, but the download of MagnaX may not be the latest version.
103
+
104
+ ## 🚀Quickstart
105
+
106
+ ### default
107
+
108
+ ```shell
109
+ python -m magnax
110
+ ```
111
+
112
+ ### customize
113
+
114
+ ```shell
115
+ python -m magnax --host=ip --port=port
116
+ ```
117
+
118
+ ## 🏴󠁣󠁩󠁣󠁭󠁿Python API
119
+
120
+ ```python
121
+ # magnax version : >= 2.8.5
122
+ from magnax.public.apm import AppPerformanceMonitor
123
+ from magnax.public.common import Devices
124
+
125
+ d = Devices()
126
+ processList = d.getPid(deviceId='ca6bd5a5', pkgName='com.bilibili.app.in') # for android
127
+ print(processList) # ['{pid}:{packagename}',...]
128
+
129
+ apm = AppPerformanceMonitor(pkgName='com.bilibili.app.in',platform='Android', deviceId='ca6bd5a5', surfaceview=True,
130
+ noLog=False, pid=None, record=False, collect_all=False, duration=0)
131
+ # apm = AppPerformanceMonitor(pkgName='com.bilibili.app.in', platform='iOS') only supports one device
132
+ # surfaceview: False = gfxinfo (Developer - GPU rendering mode - adb shell dumpsys gfxinfo)
133
+ # noLog : False (Save test data to log file)
134
+
135
+ # ************* Collect a performance parameter ************* #
136
+ cpu = apm.collectCpu() # %
137
+ memory = apm.collectMemory() # MB
138
+ memory_detail = apm.collectMemoryDetail() # MB
139
+ network = apm.collectNetwork(wifi=True) # KB
140
+ fps = apm.collectFps() # HZ
141
+ battery = apm.collectBattery() # level:% temperature:°C current:mA voltage:mV power:w
142
+ gpu = apm.collectGpu() # %
143
+ disk = apm.collectDisk()
144
+ thermal = apm.collectThermal()
145
+ # ************* Collect all performance parameter ************* #
146
+
147
+ if __name__ == '__main__':
148
+ apm = AppPerformanceMonitor(pkgName='com.bilibili.app.in',platform='Android', deviceId='ca6bd5a5', surfaceview=True,
149
+ noLog=False, pid=None, record=False, collect_all=True, duration=0)
150
+ # apm = AppPerformanceMonitor(pkgName='com.bilibili.app.in', platform='iOS', deviceId='xxxx', noLog=False, record=False, collect_all=True, duration=0)
151
+ #duration: running time (second)
152
+ #record: record android screen
153
+ apm.collectAll(report_path=None) # report_path='/test/report.html'
154
+
155
+ # in other python file
156
+ from magnax.public.apm import initPerformanceService
157
+
158
+ initPerformanceService.stop() # stop magnax
159
+ ```
160
+
161
+ ## 🏴󠁣󠁩󠁣󠁭󠁿Service API
162
+
163
+ ### Start the service in the background
164
+
165
+ ```
166
+ # magnax version >= 2.1.5
167
+
168
+ macOS/Linux: nohup python3 -m magnax &
169
+ Windows: start /min python3 -m magnax &
170
+ ```
171
+
172
+ ### Request performance data from api
173
+
174
+ ```shell
175
+ Android: http://{ip}:{port}/apm/collect?platform=Android&deviceid=ca6bd5a5&pkgname=com.bilibili.app.in&target=cpu
176
+ iOS: http://{ip}:{port}/apm/collect?platform=iOS&pkgname=com.bilibili.app.in&target=cpu
177
+
178
+ target in ['cpu','memory','memory_detail','network','fps','battery','gpu']
179
+ ```
180
+
181
+ ## 🔥Features
182
+
183
+ * **No ROOT/Jailbreak:** No need of Root for Android devices, Jailbreak for iOS devices. Efficiently solving the test and analysis challenges in Android & iOS performance.
184
+ * **Data Integrality:** We provide the data about CPU, GPU, Memory, Battery, Network,FPS, Jank, etc., which you may easy to get.
185
+ * **Beautiful Report:** A beautiful and detailed report analysis, where to store, visualize, edit, manage, and download all the test cases collected with MagnaX no matter where you are or when is it.
186
+ * **Useful Monitoring Settings:** Support setting alarm values, collecting duration, and accessing mobile devices on other PC machines during the monitoring process.
187
+ * **PK Model:** Supports simultaneous comparative testing of two mobile devices.
188
+
189
+ - 🌱2-devices: test the same app on two different phones.
190
+ - 🌱2-apps: test two different apps on two phones with the same configuration.
191
+ * **Collect In Python/API:** Support Python and API to collect performance data, helping users easily integrate into automated testing processes.
192
+
193
+ ## Develop
194
+
195
+ * https://github.com/pallets/flask
196
+ * https://github.com/tabler/tabler
197
+
198
+ ### Dependencies
199
+
200
+ | Package | Purpose |
201
+ |---|---|
202
+ | flask >= 3.1.0 | Web framework |
203
+ | loguru | Logging |
204
+ | openpyxl >= 3.1.0 | Excel report export (.xlsx) |
205
+ | pymobiledevice3 >= 2.0.0 | iOS device control |
206
+ | py-ios-device >= 2.0.0 | iOS performance data collection |
207
+ | fire | CLI argument parsing |
208
+ | psutil | System process utilities |
209
+ | opencv-python | Screen recording |
210
+
211
+ ### Debug
212
+
213
+ * Remove `magnax.` prefix in import paths
214
+
215
+ ```python
216
+ # example
217
+ from magnax.view.apis import api
218
+ # change to
219
+ from view.apis import api
220
+ ```
221
+
222
+ * Run debug server
223
+
224
+ ```shell
225
+ cd magnax
226
+ python debug.py
227
+ ```
228
+
229
+ ## Browser
230
+
231
+ <img src="https://cdn.nlark.com/yuque/0/2023/png/153412/1677553244198-96ce5709-f33f-4038-888f-f330d1f74450.png" alt="Chrome" width="50px" height="50px" />
232
+
233
+ ## Terminal
234
+
235
+ - windows: PowerShell
236
+ - macOS:iTerm2 (https://iterm2.com/)
237
+
238
+ ## 💕Thanks
239
+
240
+ - https://github.com/doronz88/pymobiledevice3
241
+ - https://github.com/YueChen-C/py-ios-device
242
+ - https://github.com/Genymobile/scrcpy
@@ -0,0 +1,87 @@
1
+ magnax/__init__.py,sha256=j-AGhMeQQ13TSFAbNnhIuOAIqHratd9sVP9VWwh5YKQ,49
2
+ magnax/__main__.py,sha256=68w-kiT6T5K21OeMstIIjL1TnZAyH1POhuwA4deKXa0,553
3
+ magnax/debug.py,sha256=9qiGqFyLOMgoC8gAfsU8Id0dysp3aKzKPwemIg1cx8U,1877
4
+ magnax/web.py,sha256=6MnqjdQZvq9sazTWwjmGEM3wUutbnjKL3ljXba7GZ7c,10719
5
+ magnax/public/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
6
+ magnax/public/adb.py,sha256=71usHLFn9mlh7V-xgHHMyiTvGzeFJgcSE5ObkP_2LDk,2709
7
+ magnax/public/android_fps.py,sha256=2OA49N6TG10-MlBUQk68rX0nBxfUjpx1Uv_tcnuVATw,34547
8
+ magnax/public/apm.py,sha256=XtVE0brJk4eIcVeYyuKTDOIDvCA4JCuvb8d8PJRi4FM,55859
9
+ magnax/public/apm_pk.py,sha256=TPNoBCH5_b-4DtmdY0vY1NZTx6bgarM2NXnihtzA43Q,8346
10
+ magnax/public/common.py,sha256=XrOQy-LbYS5YMlotIFnoquiEZpwBcCKUsijTmbGcv58,70361
11
+ magnax/public/config.json,sha256=rxCtmg1r3lNBQ8Y17tVTwJMyG-rIeKiSEjwz_qEAj0M,20
12
+ magnax/public/ios_perf_adapter.py,sha256=vO6m5H8zqh8qnRUgvkOnKIRGD2uQjJfR49O5wAGG29M,31949
13
+ magnax/public/adb/linux/adb,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
14
+ magnax/public/adb/linux_arm/adb,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
15
+ magnax/public/adb/mac/adb,sha256=VOpACEpp7ndllYwk5DSU_OEQgcqPDgx1Hy-SUlwm9NU,7328624
16
+ magnax/public/adb/windows/AdbWinApi.dll,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
17
+ magnax/public/adb/windows/AdbWinUsbApi.dll,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
18
+ magnax/public/adb/windows/adb.exe,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
19
+ magnax/public/report_template/android.html,sha256=y10HOFG2KFgvN8qiCe_IQNuAptJ_rWv5AxgUHy4awH8,32859
20
+ magnax/public/report_template/ios.html,sha256=4rrjK96E8P7FnqW4rtEA4Ns0xSGWFGROraGBl_5V2Mw,29884
21
+ magnax/public/scrcpy/scrcpy-win32-v2.4/AdbWinApi.dll,sha256=aJ5CYyUsc07kDXSPDlqRGAHGCDqOgbUED9nEnf87_c4,108320
22
+ magnax/public/scrcpy/scrcpy-win32-v2.4/AdbWinUsbApi.dll,sha256=5hQYBbsZ7q-sarLQ-1CqCYuMJxSdyO1zc5zEBDYnR0g,73504
23
+ magnax/public/scrcpy/scrcpy-win32-v2.4/SDL2.dll,sha256=2RH_xRZzr7orrQG68SINtrEiNMd2W9HmJatPnzoQq_o,1842702
24
+ magnax/public/scrcpy/scrcpy-win32-v2.4/adb.exe,sha256=WHZSWaNJzOOS-7LxXat1_tO3wLQMxop2UyeLmFBgKi8,5920544
25
+ magnax/public/scrcpy/scrcpy-win32-v2.4/avcodec-60.dll,sha256=JKxeB0ShNXZdfhpO0TbXOne3wFegnG5jKXZaLsum1GI,2915342
26
+ magnax/public/scrcpy/scrcpy-win32-v2.4/avformat-60.dll,sha256=gdGnDSRxdksX-t7XZxHS65blFFzz1Ssjlozu_ubV4gY,651790
27
+ magnax/public/scrcpy/scrcpy-win32-v2.4/avutil-58.dll,sha256=z3Fw8fUaI7JTKJ3Xk0-xXHpFAOy8HId84wx2QswAfoM,909838
28
+ magnax/public/scrcpy/scrcpy-win32-v2.4/icon.png,sha256=joyiN4mPqhYBTN0Rg5avU0BbQj89sFCMUMw-3OCOsxM,6530
29
+ magnax/public/scrcpy/scrcpy-win32-v2.4/libusb-1.0.dll,sha256=eskkMptHAJP7AAfS3s9CXc5QmNmKgKWQBZRIcdn7Xlw,233559
30
+ magnax/public/scrcpy/scrcpy-win32-v2.4/open_a_terminal_here.bat,sha256=hDdYeVqE0NA1p9J3rSnMH_FwIEi0thrnS540Oa5oNCM,5
31
+ magnax/public/scrcpy/scrcpy-win32-v2.4/scrcpy-console.bat,sha256=6Mrimd2MAtlIVaeCgdglLNJpnM5WoeNPAnyimwsyIbk,49
32
+ magnax/public/scrcpy/scrcpy-win32-v2.4/scrcpy-noconsole.vbs,sha256=WtoKgzWL-rl2eZh3RcM_QHxSApZx6ibqyUNn2k2av-8,205
33
+ magnax/public/scrcpy/scrcpy-win32-v2.4/scrcpy-server,sha256=k8Jyt0OGBcBV4Sf3REBk7Xj6nKSfgRVnd_0gHnnOe6M,69007
34
+ magnax/public/scrcpy/scrcpy-win32-v2.4/scrcpy.exe,sha256=hC7olx5bTRctnJUsckANmhAgjCS9EGdJOkLTYFPQjE0,660221
35
+ magnax/public/scrcpy/scrcpy-win32-v2.4/swresample-4.dll,sha256=VS9QN9cYlJVt_0rdv3abzus751BeTV27z2fuZnsb9tw,131598
36
+ magnax/public/scrcpy/scrcpy-win64-v2.4/AdbWinApi.dll,sha256=aJ5CYyUsc07kDXSPDlqRGAHGCDqOgbUED9nEnf87_c4,108320
37
+ magnax/public/scrcpy/scrcpy-win64-v2.4/AdbWinUsbApi.dll,sha256=5hQYBbsZ7q-sarLQ-1CqCYuMJxSdyO1zc5zEBDYnR0g,73504
38
+ magnax/public/scrcpy/scrcpy-win64-v2.4/SDL2.dll,sha256=ZAkGYaTvC4AixLcn6Y733Co1pQnbUsJfsOq82p4Jh00,1746432
39
+ magnax/public/scrcpy/scrcpy-win64-v2.4/avformat-60.dll,sha256=qO3mOv8TnQu_qauDj-XjQ84RtwZKqxRcwR6DxcYfCyc,578560
40
+ magnax/public/scrcpy/scrcpy-win64-v2.4/avutil-58.dll,sha256=txBkk1K9fnRoyPfuGqrTW9t2hpdJhi-EyDnZK-VIN80,980480
41
+ magnax/public/scrcpy/scrcpy-win64-v2.4/open_a_terminal_here.bat,sha256=hDdYeVqE0NA1p9J3rSnMH_FwIEi0thrnS540Oa5oNCM,5
42
+ magnax/public/scrcpy/scrcpy-win64-v2.4/scrcpy-noconsole.vbs,sha256=WtoKgzWL-rl2eZh3RcM_QHxSApZx6ibqyUNn2k2av-8,205
43
+ magnax/public/scrcpy/scrcpy-win64-v2.4/scrcpy-server,sha256=k8Jyt0OGBcBV4Sf3REBk7Xj6nKSfgRVnd_0gHnnOe6M,69007
44
+ magnax/public/scrcpy/scrcpy-win64-v2.4/scrcpy.exe,sha256=LDe0SSnCWbbmsCfGvGsjJ5U2U4c4ztcvmPqAW45cNik,682493
45
+ magnax/public/scrcpy/scrcpy-win64-v2.4/swresample-4.dll,sha256=aQIi3Pe9h7Ien5FJ_rINoKT1ufQm5dswfPzDfXRhels,125440
46
+ magnax/static/css/highlight.min.css,sha256=-94KwJIdhsNWxBUy5zGciHojvRuP8ABgyrRHJJ8Dx88,1144
47
+ magnax/static/css/magnax-dark-theme.css,sha256=pQiUHVYOAaFrwYhjl4_nSu8dwsm5sisio-tIlKcJudw,32306
48
+ magnax/static/css/select2-bootstrap-5-theme.min.css,sha256=cK2VB7nD9qQULecpO5mImkiCDxxIP7tnCr7rVWB4MY4,28641
49
+ magnax/static/css/select2-bootstrap-5-theme.rtl.min.css,sha256=CG-JjWh1oH-Hybrgo-PZz21kExIZZPjFhS1B-xSuoM8,28632
50
+ magnax/static/css/select2.min.css,sha256=zaSoHBhwFdle0scfGEFUCwggPN7F-ip9XRglo8IWb4w,16264
51
+ magnax/static/css/sweetalert2.min.css,sha256=fxT2vEPirY2ASBNBFCBWwEsLxCZJd3gjen03Q2lKeKE,24260
52
+ magnax/static/css/tabler.demo.min.css,sha256=iuJu32bZc2yTjVbHq1MBiR4A6ut-adXUcP5YBJ-p7bk,6742
53
+ magnax/static/css/tabler.min.css,sha256=pWeElNFm5I87LB2iP35KyaoF3tk75dRdOfgrIRHLtpM,297299
54
+ magnax/static/image/500.png,sha256=x0QCu4JBxMz2kESgF6euk7lc3t4mT4CvD7VBHCtagIc,47566
55
+ magnax/static/image/avatar.png,sha256=-0fO-E87O5020w8F7CvHkbFM6eckApT9_foiYNU_JDM,19660
56
+ magnax/static/image/empty.png,sha256=-XQdFD1WoPWYjq0hKNHAn2TYyN7FgeBFGFoqv6U3hew,126687
57
+ magnax/static/image/readme/home.png,sha256=RtTzvpVhbACI6NuW5TrSB7wQBZxbW_HRmUSRLr9VnKU,796212
58
+ magnax/static/image/readme/pk.png,sha256=-D4MxLQ6icr5ihSNR2i6X3Gr46WbwthBPSzT64bT4IY,699302
59
+ magnax/static/js/apexcharts.js,sha256=O0jRQRwJJOBXXHT4JBRvbPIFSwTZeDwV3zCy7tSt6EA,493603
60
+ magnax/static/js/gray.js,sha256=GYxzk7y_Dej0ETgkhvFobs8bteuENskonVjrge5AiRE,3860
61
+ magnax/static/js/highlight.min.js,sha256=-drbZCPWcVz0Wo0d8P8eD49H5xzTu68R7h7W5trZRk8,117604
62
+ magnax/static/js/highstock.js,sha256=YIktx0FDXuK8j6ubRZzvIRlFRZNMAhJZFhYiW_0PH8w,406552
63
+ magnax/static/js/html2canvas.min.js,sha256=6H5VB5QyLldKH9oMFUmjxw2uWpPZETQXpCkBaDjquMs,198689
64
+ magnax/static/js/jquery.min.js,sha256=_xUj-3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej_m4,89501
65
+ magnax/static/js/magnax-chart-theme.js,sha256=r5AlPduBAOsu610mnQEisdzAhH6ql0QBJb5fffENRCA,14975
66
+ magnax/static/js/select2.min.js,sha256=rWx3HxtMsM5z--_oM6yS2wl6AaAmww549nulIkQkvaE,73170
67
+ magnax/static/js/sweetalert2.min.js,sha256=1wdzPaz-33Od8lJ1zr3SgE3mAPkfXkHP5vhuJCYuuN4,43109
68
+ magnax/static/js/tabler.demo.min.js,sha256=-nFJXv3jVmM7zBR7saEuzbv-TjTSkvyCGU3XrfL7wic,2653
69
+ magnax/static/js/tabler.min.js,sha256=Yec_wgeTa-Lbhldsd1R6VeSHgnx3muIs-2Ye9lp5gVo,143123
70
+ magnax/static/logo/logo.png,sha256=kRRxyPFasUOSyo8nMHYsaKrgFaBG-768cE5nWzgk9bw,1820
71
+ magnax/templates/404.html,sha256=aDPuisMTuUmS2HNstT04NtLNQmMpTCfublcBQFp4flY,7765
72
+ magnax/templates/analysis.html,sha256=ciy7iAvC8iOU0R4lqoRi8pnRVAF9Acx1Ht1NAU6mwig,101507
73
+ magnax/templates/analysis_compare.html,sha256=zJ1kOOkxS6JmWf5W1DiJWH4UbzGe_6qs3HhZW6qxy1I,43224
74
+ magnax/templates/analysis_pk.html,sha256=czi3D3Ep6ZJRFxP-SAecNJtAHYoLDTRv8ZoL6xjVX1g,38461
75
+ magnax/templates/base.html,sha256=31CXOxK09qXvN5U0ZVi5Gy8c_jvb22pzm5i_jUd19vA,31559
76
+ magnax/templates/index.html,sha256=YlMiz2JxluRwPgxpgAbAFRu7C_j4iveaOsD02zizbEs,163760
77
+ magnax/templates/pk.html,sha256=PrOkJpwpi-fSCb67yAZHiE3UhGt12YqcxM-bQnEuZ7Y,56531
78
+ magnax/templates/report.html,sha256=ISMyWoD9G7Wk3pSy0veKLO-6w9ZaTG9XKnlnIo4Z2xU,36915
79
+ magnax/view/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
80
+ magnax/view/apis.py,sha256=hxHug7ffXkqYUsIzGs1HT2E-2yyfd8uvyH8F15mp6u4,41235
81
+ magnax/view/pages.py,sha256=-BFg7BDKKrGo9z9O_9pdycRJNegaewvXEJGyHIiSXAk,4897
82
+ magnax-1.0.0.dist-info/licenses/LICENSE,sha256=09YEeCofSxCb1Asz9e5gZrgIIQqhy0LrIBCpgvQbqqI,1090
83
+ magnax-1.0.0.dist-info/METADATA,sha256=3kv65dkiM8_3XnXmPq69xq_RV3MSpHYbEDIiWy5bO2I,8859
84
+ magnax-1.0.0.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
85
+ magnax-1.0.0.dist-info/entry_points.txt,sha256=L3KQqjbXBQQldfi_ZN5Katb4JyXPSmHAmjkjbFWt4XY,48
86
+ magnax-1.0.0.dist-info/top_level.txt,sha256=45TCGtmk8yUZsPPXDk3AgiZgDTxv2E9YDv9CHIk7NmU,7
87
+ magnax-1.0.0.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (80.10.2)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ magnax = magnax.__main__:main
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2022 ~ now MagnaX . Rafa Chen
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
@@ -0,0 +1 @@
1
+ magnax