dailo-devtools 0.1.0__tar.gz → 0.1.2__tar.gz

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.
@@ -0,0 +1,114 @@
1
+ Metadata-Version: 2.4
2
+ Name: dailo-devtools
3
+ Version: 0.1.2
4
+ Summary: 通过代劳 DevTools 调试单台 Android 设备的 Python API 与 CLI
5
+ License-Expression: MIT
6
+ Project-URL: Script SDK, https://pypi.org/project/dailo-sdk/
7
+ Keywords: android,automation,dailo,devtools,cli
8
+ Classifier: Development Status :: 3 - Alpha
9
+ Classifier: Intended Audience :: Developers
10
+ Classifier: Programming Language :: Python :: 3 :: Only
11
+ Classifier: Framework :: AsyncIO
12
+ Classifier: Typing :: Typed
13
+ Requires-Python: >=3.11
14
+ Description-Content-Type: text/markdown
15
+ License-File: LICENSE
16
+ Requires-Dist: playwright<2,>=1.58
17
+ Requires-Dist: aiohttp<4,>=3.14
18
+ Dynamic: license-file
19
+
20
+ # Dailo DevTools
21
+
22
+ 在电脑上运行和调试代劳 Android 自动化脚本。提供 `dailo-dev` 命令行工具和异步 Python 客户端,可执行脚本、读取文字与控件、保存截图和查看日志。
23
+
24
+ - 命令行执行 Python 文件或短代码。
25
+ - Python API 支持连接设备、截图、观察和停止运行。
26
+ - 自动携带脚本目录中的 Python 模块与 `assets/`。
27
+ - 图文日志保存到电脑,可离线查看。
28
+
29
+ ## 安装
30
+
31
+ 需要 Python 3.11 或更新版本,以及已安装代劳 App、开启 DevTools 的 Android 设备。
32
+
33
+ ```sh
34
+ python -m pip install dailo-devtools
35
+ dailo-dev install
36
+ ```
37
+
38
+ `dailo-dev install` 安装后台连接所需的 Chromium 运行时,只需执行一次。
39
+
40
+ ## 连接设备
41
+
42
+ 从代劳 App 的 DevTools 入口复制连接链接,保存为 `connection.json`:
43
+
44
+ ```json
45
+ {
46
+ "url": "<从代劳 App 复制的 DevTools 链接>"
47
+ }
48
+ ```
49
+
50
+ 启动连接服务:
51
+
52
+ ```sh
53
+ dailo-dev serve --connection connection.json
54
+ ```
55
+
56
+ 保持服务运行,在另一个终端执行后续命令。连接文件包含访问设备的凭据,请保存在本机;链接过期或重新连接时,从 App 获取新链接。
57
+
58
+ ## 运行脚本
59
+
60
+ 执行一段代码:
61
+
62
+ ```sh
63
+ dailo-dev exec --code "from dailo import text; print(text())"
64
+ ```
65
+
66
+ 执行 Python 文件并传入任务设置:
67
+
68
+ ```sh
69
+ dailo-dev exec --file main.py --config settings.json
70
+ ```
71
+
72
+ 脚本可使用 [dailo-sdk](https://pypi.org/project/dailo-sdk/) 的文字、控件和图片定位 API。文件模式会自动上传脚本目录中的 Python 模块和 `assets/`;`--timeout` 设置执行时限,单位为秒,默认 300。
73
+
74
+ ## 常用命令
75
+
76
+ | 命令 | 用途 |
77
+ | --- | --- |
78
+ | `dailo-dev status` | 查看连接和运行状态 |
79
+ | `dailo-dev inspect` | 读取设备画面的文字与控件 |
80
+ | `dailo-dev screenshot screen.png` | 保存设备截图 |
81
+ | `dailo-dev cancel` | 停止当前脚本 |
82
+ | `dailo-dev reconnect` | 使用持久连接配置重新连接设备 |
83
+ | `dailo-dev logs <日志目录>` | 离线查看图文日志 |
84
+
85
+ 运行 `dailo-dev --help` 或 `dailo-dev exec --help` 查看完整选项。
86
+
87
+ ## Python API
88
+
89
+ ```python
90
+ import asyncio
91
+ import json
92
+ from pathlib import Path
93
+
94
+ from dailo_devtools import Device, read_logs
95
+
96
+
97
+ async def main():
98
+ connection = json.loads(Path("connection.json").read_text(encoding="utf-8"))
99
+
100
+ async with Device(connection) as device:
101
+ result = await device.execute("from dailo import text; print(text())")
102
+ await device.screenshot("screen.png")
103
+ print(result)
104
+ print(read_logs(result["logDirectory"]))
105
+
106
+
107
+ asyncio.run(main())
108
+ ```
109
+
110
+ `Device` 还提供 `run_file(path, config=...)`、`inspect()` 和 `cancel()`。使用 Python 客户端时无需启动 `dailo-dev serve`;异步上下文管理器负责建立和关闭连接。
111
+
112
+ ## 许可
113
+
114
+ MIT。
@@ -0,0 +1,95 @@
1
+ # Dailo DevTools
2
+
3
+ 在电脑上运行和调试代劳 Android 自动化脚本。提供 `dailo-dev` 命令行工具和异步 Python 客户端,可执行脚本、读取文字与控件、保存截图和查看日志。
4
+
5
+ - 命令行执行 Python 文件或短代码。
6
+ - Python API 支持连接设备、截图、观察和停止运行。
7
+ - 自动携带脚本目录中的 Python 模块与 `assets/`。
8
+ - 图文日志保存到电脑,可离线查看。
9
+
10
+ ## 安装
11
+
12
+ 需要 Python 3.11 或更新版本,以及已安装代劳 App、开启 DevTools 的 Android 设备。
13
+
14
+ ```sh
15
+ python -m pip install dailo-devtools
16
+ dailo-dev install
17
+ ```
18
+
19
+ `dailo-dev install` 安装后台连接所需的 Chromium 运行时,只需执行一次。
20
+
21
+ ## 连接设备
22
+
23
+ 从代劳 App 的 DevTools 入口复制连接链接,保存为 `connection.json`:
24
+
25
+ ```json
26
+ {
27
+ "url": "<从代劳 App 复制的 DevTools 链接>"
28
+ }
29
+ ```
30
+
31
+ 启动连接服务:
32
+
33
+ ```sh
34
+ dailo-dev serve --connection connection.json
35
+ ```
36
+
37
+ 保持服务运行,在另一个终端执行后续命令。连接文件包含访问设备的凭据,请保存在本机;链接过期或重新连接时,从 App 获取新链接。
38
+
39
+ ## 运行脚本
40
+
41
+ 执行一段代码:
42
+
43
+ ```sh
44
+ dailo-dev exec --code "from dailo import text; print(text())"
45
+ ```
46
+
47
+ 执行 Python 文件并传入任务设置:
48
+
49
+ ```sh
50
+ dailo-dev exec --file main.py --config settings.json
51
+ ```
52
+
53
+ 脚本可使用 [dailo-sdk](https://pypi.org/project/dailo-sdk/) 的文字、控件和图片定位 API。文件模式会自动上传脚本目录中的 Python 模块和 `assets/`;`--timeout` 设置执行时限,单位为秒,默认 300。
54
+
55
+ ## 常用命令
56
+
57
+ | 命令 | 用途 |
58
+ | --- | --- |
59
+ | `dailo-dev status` | 查看连接和运行状态 |
60
+ | `dailo-dev inspect` | 读取设备画面的文字与控件 |
61
+ | `dailo-dev screenshot screen.png` | 保存设备截图 |
62
+ | `dailo-dev cancel` | 停止当前脚本 |
63
+ | `dailo-dev reconnect` | 使用持久连接配置重新连接设备 |
64
+ | `dailo-dev logs <日志目录>` | 离线查看图文日志 |
65
+
66
+ 运行 `dailo-dev --help` 或 `dailo-dev exec --help` 查看完整选项。
67
+
68
+ ## Python API
69
+
70
+ ```python
71
+ import asyncio
72
+ import json
73
+ from pathlib import Path
74
+
75
+ from dailo_devtools import Device, read_logs
76
+
77
+
78
+ async def main():
79
+ connection = json.loads(Path("connection.json").read_text(encoding="utf-8"))
80
+
81
+ async with Device(connection) as device:
82
+ result = await device.execute("from dailo import text; print(text())")
83
+ await device.screenshot("screen.png")
84
+ print(result)
85
+ print(read_logs(result["logDirectory"]))
86
+
87
+
88
+ asyncio.run(main())
89
+ ```
90
+
91
+ `Device` 还提供 `run_file(path, config=...)`、`inspect()` 和 `cancel()`。使用 Python 客户端时无需启动 `dailo-dev serve`;异步上下文管理器负责建立和关闭连接。
92
+
93
+ ## 许可
94
+
95
+ MIT。
@@ -4,13 +4,24 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "dailo-devtools"
7
- version = "0.1.0"
7
+ version = "0.1.2"
8
8
  description = "通过代劳 DevTools 调试单台 Android 设备的 Python API 与 CLI"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11"
11
11
  license = "MIT"
12
+ keywords = ["android", "automation", "dailo", "devtools", "cli"]
13
+ classifiers = [
14
+ "Development Status :: 3 - Alpha",
15
+ "Intended Audience :: Developers",
16
+ "Programming Language :: Python :: 3 :: Only",
17
+ "Framework :: AsyncIO",
18
+ "Typing :: Typed",
19
+ ]
12
20
  dependencies = ["playwright>=1.58,<2", "aiohttp>=3.14,<4"]
13
21
 
22
+ [project.urls]
23
+ "Script SDK" = "https://pypi.org/project/dailo-sdk/"
24
+
14
25
  [project.scripts]
15
26
  dailo-dev = "dailo_devtools.cli:main"
16
27
 
@@ -1,4 +1,4 @@
1
- """独立 DevTools 客户端;不依赖代劳私有项目,使用后台 Chromium。"""
1
+ """用于连接代劳 Android 设备的 Python 调试客户端。"""
2
2
  from typing import TYPE_CHECKING
3
3
 
4
4
  if TYPE_CHECKING: