Ctrl K
ComunidadGuías…

pyproject.toml

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
[project]
name = "openacm"
version = "0.4.7"
description = "OpenACM - Open Automated Computer Manager"
requires-python = ">=3.12"

dependencies = [
    # Core LLM
    "litellm>=1.84.0",
    "pydantic>=2.0",
    "pydantic-settings>=2.14.2",
    "pyyaml>=6.0",
    
    # Web
    "fastapi>=0.115",
    "python-multipart>=0.0.31",
    "uvicorn[standard]>=0.30",
    "websockets>=13.0",
    
    # Channels
    "discord.py>=2.4",
    "python-telegram-bot>=21.0",
    "httpx>=0.27",
    
    # Storage
    "aiosqlite>=0.20",
    
    # Tools
    "ddgs>=7.0",
    "psutil>=6.0",
    
    # Google Services
    "google-api-python-client>=2.130",
    "google-auth-oauthlib>=1.2",
    "google-auth-httplib2>=0.2",
    
    # Utils
    "rich>=13.0",
    "structlog>=24.0",
    "python-dotenv>=1.2.2",
    
    # Multimodal & Crypto
    "mss>=9.0",
    "Pillow>=12.3.0",
    "cryptography>=50.0.0",
    "pypdf>=6.16.1",
    "markitdown[docx,xlsx,pptx,audio-transcription]>=0.1",
    "chonkie[sentence]>=1.0",
    "docling>=2.94.0",
    "instructor>=1.0",
    
    # Tier-1 Agentic powers
    "chromadb>=1.5.9",
    "sentence-transformers>=3.3",
    "playwright>=1.49",
    "jupyter-client>=8.6",
    "ipykernel>=6.29",

    # PTY support
    "pywinpty>=2.0; sys_platform == 'win32'",

    # MCP
    "mcp>=1.28.1,<2",

    # Excel export
    "openpyxl>=3.1",
]

[project.optional-dependencies]
dev = [
    "pytest>=9.0.3",
    "pytest-asyncio>=0.24",
    "pytest-mock>=3.14",
    "ruff>=0.8",
]
voice = [
    "sounddevice>=0.5",
    "faster-whisper>=1.0",
    "numpy>=1.26",
    "pyttsx3>=2.90",
]

[project.scripts]
openacm = "openacm.__main__:main"
openacm-cli = "openacm.core.interactive_repl:main"
openacm-setup = "openacm.cli.setup_wizard:main"
openacm-manage = "openacm.cli.manage:main"

[build-system]
requires = ["setuptools>=68.0", "wheel"]
build-backend = "setuptools.build_meta"

[tool.uv]
# Floors for transitive dependencies with known security advisories.
constraint-dependencies = [
    "accelerate>=1.15.0",
    "aiohttp>=3.14.3",
    "anyio>=4.14.2",
    "click>=8.3.3",
    "docling-core>=2.74.1",
    "httplib2>=0.32.0",
    "idna>=3.15",
    "pyasn1>=0.6.4",
    "pygments>=2.20.0",
    "pyjwt>=2.13.0",
    "setuptools>=83.0.0",
    "soupsieve>=2.9.0",
    "starlette>=1.3.1",
    "torch>=2.13.0",
    "tornado>=6.5.8",
    "transformers>=5.10.0",
    "urllib3>=2.7.0",
]

[tool.setuptools.packages.find]
where = ["src"]

[tool.ruff]
line-length = 100
target-version = "py312"

[tool.pytest.ini_options]
asyncio_mode = "auto"
testpaths = ["tests"]
addopts = "-v --tb=short"