[build-system] requires = ["pdm-backend"] build-backend = "pdm.backend" [project] name = "cua-computer-server" version = "0.3.42" description = "Server component for the Computer-Use Interface (CUI) framework powering Cua" authors = [ { name = "TryCua", email = "gh@trycua.com" } ] readme = "README.md" license = { text = "MIT" } requires-python = ">=3.12,<3.14" dependencies = [ "fastapi>=0.111.0", "uvicorn[standard]>=0.27.0", "pydantic>=2.0.0", "pynput>=1.8.1", "pillow>=10.2.0", "aiohttp>=3.9.1", "pyperclip>=1.9.0", "websockets>=12.0", "pywinctl>=0.4.1", "playwright>=1.40.0", "fastmcp>=3.2.0,<3.3.0", # PTY support (wraps cua-auto terminal engine) "cua-auto>=0.1.0", # OS-specific runtime deps "pyobjc-framework-Cocoa>=10.1; sys_platform == 'darwin'", "pyobjc-framework-Quartz>=10.1; sys_platform == 'darwin'", "pyobjc-framework-ApplicationServices>=10.1; sys_platform == 'darwin'", "python-xlib>=0.33; sys_platform == 'linux'", "pywin32>=310; sys_platform == 'win32'", "python-certifi-win32; sys_platform == 'win32'", "cua-core>=0.3.0,<0.4.0", "grpcio==1.78.0", "protobuf==6.33.6", ] [project.optional-dependencies] macos = [ "pyobjc-framework-Cocoa>=10.1", "pyobjc-framework-Quartz>=10.1", "pyobjc-framework-ApplicationServices>=10.1" ] linux = [ "python-xlib>=0.33" ] windows = [ "pywin32>=310" ] vnc = [ "vncdotool>=1.2.0" ] [project.urls] homepage = "https://github.com/trycua/cua" repository = "https://github.com/trycua/cua" [project.scripts] cua-computer-server = "computer_server:run_cli" [tool.pdm] distribution = true [tool.pdm.build] includes = ["computer_server"] package-data = {"computer_server" = ["py.typed"]} [tool.pdm.dev-dependencies] test = [ "pytest>=7.0.0", "pytest-asyncio>=0.23.0" ] format = [ "black>=23.0.0", "isort>=5.12.0" ] dev = [ "ruff>=0.0.241", "mypy>=0.971" ] [tool.pdm.scripts] # Starts HTTP server with MCP at /mcp endpoint api = "python -m computer_server" [tool.uv.sources] cua-core = { workspace = true } cua-auto = { path = "../cua-auto", editable = true }