Files
wehub-resource-sync 91e75e620b
CI: cua-driver distro-compat matrix / debian:12 (glibc 2.36) (push) Has been cancelled
CI: SPDX Headers / Check SPDX headers (warn-only) (push) Has been cancelled
CD: Docs MCP Server / build (linux/amd64) (push) Has been cancelled
CD: Docs MCP Server / build (linux/arm64) (push) Has been cancelled
CD: Docs MCP Server / merge (push) Has been cancelled
CI: cua-driver distro-compat matrix / Resolve release version (push) Has been cancelled
CI: cua-driver distro-compat matrix / fedora:41 (glibc 2.40) (push) Has been cancelled
CI: cua-driver distro-compat matrix / rockylinux:9 (glibc 2.34) (push) Has been cancelled
CI: cua-driver distro-compat matrix / ubuntu:22.04 (glibc 2.35) (push) Has been cancelled
CI: cua-driver distro-compat matrix / ubuntu:24.04 (glibc 2.39) (push) Has been cancelled
CI: cua-driver distro-compat matrix / Distro compat summary (push) Has been cancelled
CI: Rust Linux unit / Rust Linux unit and compile (push) Has been cancelled
CI: Rust Windows unit / Rust Windows unit and compile (push) Has been cancelled
CI: Nix Linux Rust source / Nix / compositor build (push) Has been cancelled
CI: Nix Linux Rust source / Nix / driver package (push) Has been cancelled
CI: Nix Linux Rust source / Nix / Rust unit tests (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 13:03:19 +08:00

207 lines
4.1 KiB
TOML

[project]
name = "cua-bench"
version = "0.2.11"
description = "Toolkit for computer-use RL environments and benchmarks"
readme = "README.md"
license = "MIT"
authors = [
{ name = "TryCua", email = "hello@trycua.com" }
]
keywords = [
"computer-use",
"reinforcement-learning",
"benchmarks",
"gui-automation",
"agents",
"vlm",
]
classifiers = [
"Development Status :: 4 - Beta",
"Intended Audience :: Developers",
"Intended Audience :: Science/Research",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Topic :: Scientific/Engineering :: Artificial Intelligence",
]
requires-python = ">=3.12,<3.14"
# Core dependencies - minimal set for basic functionality
dependencies = [
# Async & networking
"aiohttp>=3.9.0",
"aiofiles>=23.0.0",
"websockets>=12.0",
# CLI & display
"rich>=14.2.0",
"tqdm>=4.66.0",
# Web/HTML parsing
"jinja2>=3.1.0",
"pyquery>=2.0.1",
"html5lib>=1.1",
"beautifulsoup4>=4.14.2",
# Core utilities
"pillow>=11.0.0",
"numpy>=2.0.0",
"python-dotenv>=1.0.0",
"psutil>=5.9.0",
"datasets>=3.0.0",
"matplotlib>=3.8.0",
# Docker integration
"docker>=7.0.0",
# CUA SDK
"cua-computer>=0.4.19",
"cua-core>=0.3.0,<0.4.0",
"cua-agent",
"playwright>=1.55.0",
]
[project.optional-dependencies]
# Full installation with all features
all = [
"cua-bench[browser,agents,cloud,otel,spice]",
]
# Daytona cloud sandbox execution
daytona = [
"daytona-sdk>=0.1.0",
]
# Packaging scripts (e.g. package_kicad_submission.py)
packaging = [
"boto3>=1.26.0",
]
# Browser automation (for simulated environments)
browser = [
"playwright>=1.40.0",
]
# Agent support
agents = [
"cua-agent>=0.8.0",
"anthropic>=0.26.0",
]
# OpenTelemetry tracing and metrics export
otel = [
"opentelemetry-api>=1.20.0",
"opentelemetry-sdk>=1.20.0",
"opentelemetry-exporter-otlp-proto-http>=1.20.0",
]
# Cloud batch execution (Google Cloud)
cloud = [
"google-cloud-batch>=0.17.0",
"google-cloud-logging>=3.5.0",
"google-cloud-storage>=2.10.0",
"gcloud-aio-storage>=9.0.0",
"grpcio>=1.60.0",
"cua-bench[otel]",
]
# SPICE circuit simulation (for KiCad netlist evaluation)
spice = [
"PySpice>=1.5",
]
# API server (for custom environments)
server = [
"fastapi>=0.100.0",
"uvicorn>=0.30.0",
"python-multipart>=0.0.6",
"aiosqlite>=0.19.0",
]
# Windows-specific
windows = [
"pypiwin32>=223",
"icoextract>=0.2.0",
]
# Development
dev = [
"pytest>=8.0.0",
"pytest-asyncio>=0.23.0",
"fastapi>=0.100.0",
"httpx>=0.27.0",
"uvicorn>=0.30.0",
"ruff>=0.1.0",
]
# RL training
rl = [
"torch>=2.12.1",
"torchvision>=0.27.1",
"transformers>=5.0.0rc3,<6.0",
]
[project.urls]
Homepage = "https://github.com/trycua/cua"
Documentation = "https://docs.trycua.com"
Repository = "https://github.com/trycua/cua"
Issues = "https://github.com/trycua/cua/issues"
[project.scripts]
cb = "cua_bench.cli.main:main"
cua-bench = "cua_bench.cli.main:main"
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build]
include = [
"cua_bench/**",
"README.md",
"LICENSE",
]
exclude = [
"cua_bench/**/__pycache__",
"cua_bench/**/tests",
"**/.DS_Store",
]
[tool.hatch.build.targets.wheel]
packages = ["cua_bench"]
[tool.hatch.build.targets.sdist]
include = [
"cua_bench/**",
"README.md",
"LICENSE",
"pyproject.toml",
]
# Ruff configuration
[tool.ruff]
line-length = 100
target-version = "py312"
[tool.ruff.lint]
select = ["E", "F", "W"]
ignore = ["E501"]
# Pytest configuration
[tool.pytest.ini_options]
asyncio_mode = "auto"
testpaths = ["cua_bench/tests"]
[tool.uv.sources]
cua-agent = { path = "../python/agent", editable = true }
[tool.uv]
constraint-dependencies = [
"cryptography>=48.0.1",
"pytest>=9.0.3",
"starlette>=1.3.1",
]
[dependency-groups]
dev = [
"pytest>=8.4.2",
"pytest-asyncio>=1.3.0",
]