| [build-system] |
| requires = ["hatchling"] |
| build-backend = "hatchling.build" |
|
|
| [project] |
| name = "cua2-core" |
| version = "0.0.0-dev.0" |
| description = "Backend API server for Computer Use Agent" |
| authors = [{ name = "Amir Mahla", email = "amir.mahla@icloud.com" }] |
| keywords = ["fastapi", "api", "backend", "automation"] |
| classifiers = [ |
| "Development Status :: 4 - Beta", |
| "Intended Audience :: Developers", |
| "License :: OSI Approved :: MIT License", |
| "Operating System :: OS Independent", |
| "Programming Language :: Python :: 3", |
| "Programming Language :: Python :: 3.10", |
| "Programming Language :: Python :: 3.11", |
| "Programming Language :: Python :: 3.12", |
| "Topic :: Internet :: WWW/HTTP :: HTTP Servers", |
| "Topic :: Software Development :: Libraries :: Application Frameworks", |
| ] |
| requires-python = ">=3.10" |
| dependencies = [ |
| "fastapi>=0.115.13", |
| "uvicorn[standard]>=0.29.0,<0.30.0", |
| "websockets>=13.1.0,<14.0.0", |
| "pydantic>=2.11.7", |
| "python-multipart>=0.0.18,<0.0.19", |
| "python-jose[cryptography]==3.3.0", |
| "passlib[bcrypt]==1.7.4", |
| "python-dotenv==1.0.0", |
| "httpx>=0.27.1", |
| "asyncio-mqtt==0.16.1", |
| "aiofiles==23.2.1", |
| "smolagents[openai,litellm]==1.22.0", |
| "openai==2.6.1", |
| "e2b-desktop==2.1.0", |
| "huggingface_hub==1.1.2", |
| ] |
|
|
| [project.optional-dependencies] |
| dev = [ |
| "pytest>=7.0.0", |
| "pytest-asyncio>=0.21.0", |
| "pytest-cov>=4.0.0", |
| "black>=23.0.0", |
| "isort>=5.12.0", |
| "flake8>=6.0.0", |
| "mypy>=1.0.0", |
| "pre-commit>=3.0.0", |
| ] |
| test = [ |
| "pytest>=7.0.0", |
| "pytest-asyncio>=0.21.0", |
| "pytest-cov>=4.0.0", |
| ] |
|
|
| [project.urls] |
| Homepage = "https://github.com/huggingface/CUA2" |
| Repository = "https://github.com/huggingface/CUA2" |
|
|
| [tool.hatch.build.targets.wheel] |
| packages = ["src/cua2_core"] |
|
|
| [tool.hatch.build.targets.sdist] |
| include = [ |
| "/src", |
| ] |
|
|
| [tool.coverage.run] |
| source = ["src"] |
| omit = [ |
| "*/tests/*", |
| "*/test_*", |
| "*/__pycache__/*", |
| "*/migrations/*", |
| ] |
|
|
| [tool.coverage.report] |
| exclude_lines = [ |
| "pragma: no cover", |
| "def __repr__", |
| "if self.debug:", |
| "if settings.DEBUG", |
| "raise AssertionError", |
| "raise NotImplementedError", |
| "if 0:", |
| "if __name__ == .__main__.:", |
| "class .*\\bProtocol\\):", |
| "@(abc\\.)?abstractmethod", |
| ] |
|
|