CheddahBot/pyproject.toml

84 lines
1.5 KiB
TOML

[project]
name = "cheddahbot"
version = "0.1.0"
description = "Personal AI assistant with ClickUp integration"
requires-python = ">=3.11"
dependencies = [
"gradio>=5.0",
"openai>=1.30",
"pyyaml>=6.0",
"python-dotenv>=1.0",
"sentence-transformers>=3.0",
"numpy>=1.24",
"httpx>=0.27",
"beautifulsoup4>=4.12",
"croniter>=2.0",
"edge-tts>=6.1",
"python-docx>=1.2.0",
"openpyxl>=3.1.5",
"jinja2>=3.1.6",
"python-multipart>=0.0.22",
"sse-starlette>=3.3.3",
]
[build-system]
requires = ["uv_build>=0.9,<1"]
build-backend = "uv_build"
[tool.uv.build-backend]
module-root = ""
[dependency-groups]
dev = [{include-group = "lint"}, {include-group = "test"}]
lint = ["ruff"]
test = ["pytest", "pytest-cov", "respx"]
[tool.uv]
default-groups = ["dev", "test"]
[tool.pytest]
testpaths = ["tests"]
addopts = [
"-ra",
"--strict-markers",
"--strict-config",
"--cov=cheddahbot",
"--cov-report=term-missing",
]
markers = [
"integration: requires live ClickUp API token",
]
[tool.coverage.run]
branch = true
source = ["cheddahbot"]
omit = [
"*/__main__.py",
"*/conftest.py",
"*/ui.py",
"*/media.py",
"*/llm.py",
]
[tool.coverage.report]
exclude_lines = [
"pragma: no cover",
"if TYPE_CHECKING:",
"if __name__ == .__main__.:",
]
show_missing = true
[tool.ruff]
line-length = 100
target-version = "py311"
[tool.ruff.lint]
select = ["E", "F", "I", "UP", "B", "SIM", "RUF"]
[tool.ruff.lint.per-file-ignores]
"tests/**/*.py" = [
"S101",
"PLR2004",
"ANN",
]