Tests / Test passed: 789
paddlepaddle has no Python 3.14 (cp314) wheel on PyPI, so host-agent
deployments on 3.14 can never install it, causing OCR to fail at
runtime with RuntimeError. Pin the workspace to Python 3.13 across
all pyproject.toml files, the Docker base image, and the Jenkins CI
image; regenerate uv.lock against 3.13.
Also fixes a pre-existing Python-2-style `except X, Y:` syntax error
(invalid in all Python 3.x) in runtime/task.py and
packages/cloud-platform/cloud/{sql_repository,internal_api/api}.py,
introduced in 22d37ca9 and unrelated to this change's scope, which
blocked the full test suite from collecting on any interpreter
version.
openspec change: downgrade-python-3-13-paddleocr
61 lines
1.3 KiB
TOML
61 lines
1.3 KiB
TOML
[project]
|
|
name = "device-agent-runtime"
|
|
version = "0.1.0"
|
|
description = "Device-agnostic runtime for LLM-driven automation, with iPhone/WDA as the first driver."
|
|
requires-python = ">=3.13,<3.14"
|
|
dependencies = [
|
|
"anthropic>=0.69.0",
|
|
"Appium-Python-Client>=5.1.1",
|
|
"fastapi>=0.115.0",
|
|
"httpx>=0.27.0",
|
|
"mcp>=1.27,<2",
|
|
"openai>=1.0.0",
|
|
"paddleocr>=3.0.0",
|
|
"uvicorn[standard]>=0.30.0",
|
|
]
|
|
|
|
[build-system]
|
|
requires = ["setuptools>=69"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[dependency-groups]
|
|
dev = [
|
|
"pytest>=8.3.0",
|
|
]
|
|
|
|
[tool.uv]
|
|
# Aliyun PyPI mirror for CN networks. Override locally with UV_INDEX_URL
|
|
# (e.g. `UV_INDEX_URL=https://pypi.org/simple uv sync`).
|
|
index-url = "https://mirrors.aliyun.com/pypi/simple"
|
|
|
|
[tool.uv.workspace]
|
|
members = [
|
|
"apps/cloud-api",
|
|
"apps/device-host-agent",
|
|
"packages/cloud-platform",
|
|
]
|
|
|
|
[tool.setuptools.packages.find]
|
|
include = [
|
|
"agents*",
|
|
"api*",
|
|
"core*",
|
|
"device*",
|
|
"driver*",
|
|
"perception*",
|
|
"runtime*",
|
|
"semantic*",
|
|
"skills_learning*",
|
|
"storage*",
|
|
"tools*",
|
|
"world*",
|
|
"workflow*",
|
|
]
|
|
|
|
[tool.pytest.ini_options]
|
|
testpaths = ["tests"]
|
|
addopts = "-ra --import-mode=importlib"
|
|
markers = [
|
|
"integration: tests requiring external hardware or services",
|
|
]
|