Files
JARVIS/backend/pyproject.toml
DESKTOP-72TV0V4\caoxiaozhu 3ee825aa90 Add MinerU document ingestion support
Normalize uploaded documents into structured markdown, add clearer parser
errors for missing dependencies, and cover the ingestion flow with
backend tests. This also replaces deprecated UTC timestamp helpers in
the touched backend paths so the knowledge pipeline stays warning-free.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-22 13:42:16 +08:00

82 lines
1.6 KiB
TOML

[project]
name = "jarvis-backend"
version = "0.1.0"
description = "Jarvis Personal AI Assistant - Backend"
readme = "README.md"
requires-python = ">=3.12"
license = { text = "MIT" }
dependencies = [
# Web 框架
"fastapi>=0.115.0",
"uvicorn[standard]>=0.30.0",
"python-multipart>=0.0.12",
"websockets>=12.0",
"aiofiles>=24.0.0",
# Agent 框架
"langgraph>=0.2.36",
"langchain-anthropic>=0.3.14",
"langchain-openai>=0.3.18",
"langchain-core>=0.3.52",
"langchain-ollama>=0.4.0",
"langsmith>=0.1.0",
# 知识库框架
"llama-index>=0.12.0",
"llama-index-vector-stores-chroma>=0.3.0",
"chromadb>=0.5.0",
# 数据库
"sqlalchemy>=2.0.0",
"aiosqlite>=0.20.0",
"alembic>=1.13.0",
# 认证 & 安全
"python-jose[cryptography]>=3.3.0",
"passlib[bcrypt]>=1.7.4",
"bcrypt>=4.0.0,<5.0.0",
# 配置 & 验证
"pydantic>=2.0.0",
"pydantic-settings>=2.0.0",
"email-validator>=2.0.0",
# 定时任务
"APScheduler>=3.10.0",
# 工具
"python-dotenv>=1.0.0",
"httpx>=0.27.0",
"openpyxl>=3.1.0",
"python-docx>=1.1.0",
"mineru>=2.0.3",
"psutil>=6.1.0",
]
[project.optional-dependencies]
dev = [
"pytest>=8.0.0",
"pytest-asyncio>=0.23.0",
"pytest-cov>=4.1.0",
"ruff>=0.5.0",
"mypy>=1.10.0",
"pre-commit>=3.7.0",
]
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = ["app"]
[tool.ruff]
target-version = "py312"
line-length = 100
select = ["E", "F", "I", "N", "W", "UP"]
[tool.pytest.ini_options]
asyncio_mode = "auto"
testpaths = ["tests"]