Tests / Test tests.test_workspace_packaging.test_workspace_distributions_own_expected_import_packages failed
apps/cloud-api/tests and apps/device-host-agent/tests both contain test_app.py without __init__.py, so pytest's default prepend mode collided on the bare module name and aborted collection when Jenkins passed both paths together. Switching to importlib imports each file by its full path and avoids the collision. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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.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",
|
|
]
|