pyproject.toml
Rama master · réplica de lectura del repositorio original.
[build-system]
requires = ["setuptools>=68"]
build-backend = "setuptools.build_meta"
[project]
name = "mohamind"
version = "0.3.0"
description = "MohaMind - Your personal AI agent that knows everything about you"
readme = "README.md"
requires-python = ">=3.12"
dependencies = [
"openai>=1.30.0",
"mcp>=1.0.0",
"python-telegram-bot[all]>=21.0",
"apscheduler>=3.10.0",
"pydantic>=2.0",
"pydantic-settings>=2.0",
"python-dotenv>=1.0",
"google-api-python-client>=2.100",
"google-auth-httplib2>=0.1",
"google-auth-oauthlib>=1.0",
"msgraph-sdk>=1.0",
"azure-identity>=1.15",
"rich>=13.0",
"pyfiglet>=1.0.2",
"httpx>=0.27",
"prompt-toolkit>=3.0.52",
]
[project.optional-dependencies]
voice = [
"faster-whisper>=1.2.1,<2",
]
dev = [
"pytest>=8.0",
"pytest-asyncio>=0.23",
"ruff>=0.3",
]
# Optional: local sentence-transformer embeddings for semantic memory.
# Enable with `uv sync --extra embeddings` then set EMBEDDING_BACKEND=local.
embeddings = [
"sentence-transformers>=2.7",
]
[project.scripts]
mohamind = "moha_mind.main:run"
[tool.ruff]
line-length = 120
target-version = "py312"
[tool.setuptools.packages.find]
include = ["moha_mind*"]
[tool.setuptools.package-data]
"moha_mind.whatsapp_bot" = ["bridge/*.mjs", "bridge/package.json", "bridge/package-lock.json"]
[tool.ruff.lint]
select = ["E", "F", "I", "N", "W"]
[tool.pytest.ini_options]
asyncio_mode = "auto"
testpaths = ["tests"]
[dependency-groups]
dev = [
"pytest>=9.0.3",
"pytest-asyncio>=1.3.0",
"pytest-cov>=7.1.0",
"ruff>=0.15.9",
]