docs(workspace): document uv member workflows
This commit is contained in:
@@ -21,6 +21,35 @@ contracts.
|
|||||||
- `runtime/`: planning and execution orchestration.
|
- `runtime/`: planning and execution orchestration.
|
||||||
- `api/`: REST/MCP transport adapters.
|
- `api/`: REST/MCP transport adapters.
|
||||||
- `storage/`: timeline, task, and device configuration persistence.
|
- `storage/`: timeline, task, and device configuration persistence.
|
||||||
|
- `packages/cloud-platform/`: cloud scheduling, device pooling, plugins, and
|
||||||
|
the Python cloud SDK as the `device-cloud-platform` workspace member.
|
||||||
|
|
||||||
|
## Python Workspace
|
||||||
|
|
||||||
|
The repository uses a uv workspace with one committed lockfile. From the
|
||||||
|
repository root, synchronize every Python member with:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
uv sync --locked --all-packages
|
||||||
|
```
|
||||||
|
|
||||||
|
Run the complete local test suite in a workspace environment:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
uv run --all-packages pytest -m "not integration"
|
||||||
|
```
|
||||||
|
|
||||||
|
Select one member when running package-specific commands:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
uv run --package device-agent-runtime python -c "import runtime"
|
||||||
|
uv run --package device-cloud-platform python -c "import cloud"
|
||||||
|
uv build --package device-agent-runtime
|
||||||
|
uv build --package device-cloud-platform
|
||||||
|
```
|
||||||
|
|
||||||
|
The Vue/Vite application under `console/` remains an independent npm project;
|
||||||
|
uv does not install or modify its JavaScript dependencies.
|
||||||
|
|
||||||
## Project Direction
|
## Project Direction
|
||||||
|
|
||||||
|
|||||||
@@ -117,17 +117,22 @@ npm --version
|
|||||||
确认 Node.js/npm 满足上面的版本范围。Apple Silicon 和 Intel Mac 都应使用本机
|
确认 Node.js/npm 满足上面的版本范围。Apple Silicon 和 Intel Mac 都应使用本机
|
||||||
架构的 Homebrew,不要在 Rosetta shell 与原生 shell 之间混用 Python/Node。
|
架构的 Homebrew,不要在 Rosetta shell 与原生 shell 之间混用 Python/Node。
|
||||||
|
|
||||||
### 4.2 创建 Python 环境
|
### 4.2 同步 Python workspace
|
||||||
|
|
||||||
在仓库根目录执行:
|
在仓库根目录执行:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
uv python install 3.14
|
uv python install 3.14
|
||||||
uv venv --python 3.14
|
uv sync --locked --all-packages
|
||||||
source .venv/bin/activate
|
uv run --package device-agent-runtime python --version
|
||||||
python --version
|
uv run --package device-cloud-platform python -c "import cloud"
|
||||||
uv pip install -e .
|
```
|
||||||
uv pip install "pytest>=8.3.0"
|
|
||||||
|
uv 会在仓库根目录管理 `.venv`,共享 `uv.lock` 同时锁定本地 Runtime 和 cloud
|
||||||
|
platform 两个 Python member。运行完整的非实机测试使用:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
uv run --all-packages pytest -m "not integration"
|
||||||
```
|
```
|
||||||
|
|
||||||
如果 Apple Silicon 上安装 `paddleocr` 或其底层推理依赖失败,可以先安装不带 OCR
|
如果 Apple Silicon 上安装 `paddleocr` 或其底层推理依赖失败,可以先安装不带 OCR
|
||||||
@@ -257,7 +262,7 @@ PY
|
|||||||
验证通过后,可以运行仓库的实机 integration test:
|
验证通过后,可以运行仓库的实机 integration test:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
pytest -m integration tests/test_wda_integration.py -v
|
uv run --package device-agent-runtime pytest -m integration tests/test_wda_integration.py -v
|
||||||
```
|
```
|
||||||
|
|
||||||
该测试只从环境变量读取 server URL、UDID 和 device name,不传签名 capabilities,
|
该测试只从环境变量读取 server URL、UDID 和 device name,不传签名 capabilities,
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
- [x] 3.2 Verify clean `uv sync --locked` and lock consistency checks from the workspace root.
|
- [x] 3.2 Verify clean `uv sync --locked` and lock consistency checks from the workspace root.
|
||||||
- Verified with a fresh temporary environment using `uv sync --locked --all-packages` followed by `uv lock --check`.
|
- Verified with a fresh temporary environment using `uv sync --locked --all-packages` followed by `uv lock --check`.
|
||||||
- [x] 3.3 Verify member-scoped uv commands for both `device-agent-runtime` and `device-cloud-platform`.
|
- [x] 3.3 Verify member-scoped uv commands for both `device-agent-runtime` and `device-cloud-platform`.
|
||||||
- [ ] 3.4 Update README and relevant setup documentation with workspace synchronization, test, build, and package-selection commands while leaving console npm commands unchanged.
|
- [x] 3.4 Update README and relevant setup documentation with workspace synchronization, test, build, and package-selection commands while leaving console npm commands unchanged.
|
||||||
|
|
||||||
## 4. Build And Compatibility Verification
|
## 4. Build And Compatibility Verification
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user