[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "navi"
version = "0.1.0"
description = "Modular agent system with REST API and WebSocket"
requires-python = ">=3.11"
dependencies = [
# API
"fastapi>=0.111",
"uvicorn[standard]>=0.29",
"python-multipart>=0.0.9",
"aiofiles>=23.0",
"aiosqlite>=0.20",
"asyncpg>=0.29",
# LLM backends
"ollama>=0.2",
"openai>=1.30",
"anthropic>=0.26",
# HTTP / tools
"httpx>=0.27",
"asyncssh>=2.14",
"ddgs>=1.0",
# Config
"pydantic>=2.7",
"pydantic-settings>=2.3",
"python-dotenv>=1.0",
# Utilities
"tenacity>=8.3",
"structlog>=24.1",
]
[project.optional-dependencies]
dev = [
"pytest>=8.0",
"pytest-asyncio>=0.23",
"ruff>=0.4",
"mypy>=1.10",
]
[tool.ruff]
line-length = 100
target-version = "py311"
[tool.pytest.ini_options]
asyncio_mode = "auto"