[build-system] requires = ["pdm-backend"] build-backend = "pdm.backend" [project] name = "cua-workspace" version = "0.1.0" description = "CUA (Computer Use Agent) mono-repo" authors = [ { name = "TryCua", email = "gh@trycua.com" } ] dependencies = [] requires-python = ">=3.10" readme = "README.md" license = { text = "MIT" } [project.urls] repository = "https://github.com/trycua/cua" [dependency-groups] dev = [] examples = [] [tool.pdm] distribution = false [tool.pdm.dev-dependencies] dev = [ "black>=23.0.0", "ruff>=0.9.2", "mypy>=1.10.0", "types-requests>=2.31.0", "ipykernel>=6.29.5", "jupyter>=1.0.0", "jedi>=0.19.2" ] test = [ "pytest>=8.0.0", "pytest-asyncio>=0.21.1", "pytest-cov>=4.1.0", "pytest-mock>=3.10.0", "pytest-xdist>=3.6.1", "aioresponses>=0.7.4" ] docs = [ "mkdocs>=1.5.0", "mkdocs-material>=9.2.0" ] [tool.pdm.resolution] respect-source-order = true [tool.pdm.resolution.overrides] cua-computer = { path = "libs/computer" } cua-omniparser = { path = "libs/omniparser" } cua-agent = { path = "libs/agent" } pylume = { path = "libs/pylume" } cua-computer-server = { path = "libs/computer-server" } cua-mcp-server = { path = "libs/mcp-server" } [tool.black] line-length = 100 target-version = ["py310"] [tool.ruff] line-length = 100 target-version = "py310" select = ["E", "F", "B", "I"] fix = true [tool.ruff.format] docstring-code-format = true [tool.mypy] strict = true python_version = "3.10" ignore_missing_imports = true disallow_untyped_defs = true check_untyped_defs = true warn_return_any = true show_error_codes = true warn_unused_ignores = false [tool.pytest.ini_options] asyncio_mode = "auto" testpaths = ["libs/*/tests"] python_files = "test_*.py"