feat: 调整 backend Python 工作区依赖边界,明确核心运行依赖包

This commit is contained in:
Wenjie Zhang 2026-04-01 17:00:04 +08:00
parent 783513f2ba
commit bb2f879b6a
4 changed files with 104 additions and 92 deletions

View File

@ -1,7 +1,74 @@
[project]
name = "yuxi"
version = "0.6.0"
description = "Add your description here"
readme = "README.md"
requires-python = ">=3.12"
dependencies = []
description = "Yuxi 智能知识库与知识图谱平台核心后端包"
readme = "../../../README.md"
requires-python = ">=3.12,<3.14"
dependencies = [
"agent-sandbox>=0.0.26",
"aioboto3>=13.0.0",
"aiofiles>=24.1.0",
"aiohttp>=3.9.0",
"aiosqlite>=0.20.0",
"asyncpg>=0.30.0",
"chardet>=5.0.0",
"colorlog>=6.9.0",
"dashscope>=1.23.2",
"deepagents>=0.2.5",
"docling>=2.68.0",
"docx2txt>=0.9",
"httpx>=0.27.0",
"json-repair>=0.54.0",
"langchain>=1.2.0",
"langchain-community>=0.4",
"langchain-core>=1.2.5",
"langchain-deepseek>=1.0",
"langchain-mcp-adapters>=0.1.9",
"langchain-openai>=1.0.2",
"langchain-tavily>=0.2.13",
"langchain-text-splitters>=1.0",
"langfuse>=4.0.0",
"langgraph>=1.0.1",
"langgraph-checkpoint-postgres>=2.0.0",
"langgraph-checkpoint-sqlite>=3.0",
"langgraph-cli[inmem]>=0.4",
"langsmith>=0.4",
"lightrag-hku>=1.4.6",
"llama-index>=0.14",
"llama-index-readers-file>=0.4.7",
"loguru>=0.7.3",
"markdownify>=1.1.0",
"mcp>=1.20",
"minio>=7.2.7",
"neo4j>=5.28.1",
"networkx>=3.5",
"openai>=1.109",
"opencv-python-headless>=4.11.0.86",
"Pillow>=10.5.0",
"psycopg[binary,pool]>=3.3.3",
"pyjwt>=2.8.0",
"pymilvus>=2.5.8",
"pymupdf>=1.25.5",
"pymysql>=1.1.0",
"pypinyin>=0.55.0",
"python-dotenv>=1.1.0",
"python-jose[cryptography]>=3.4.0",
"python-multipart>=0.0.20",
"pyyaml>=6.0.2",
"rapidocr-onnxruntime>=1.4.4",
"readability-lxml>=0.8.1",
"redis>=5.2.0",
"rich>=13.7.1",
"sqlalchemy[asyncio]>=2.0.0",
"tabulate>=0.9.0",
"tavily-python>=0.7.0",
"tenacity>=8.0.0",
"tomli",
"tomli-w",
"torch>=2.8.0",
"torchvision==0.23",
"tqdm>=4.66.4",
"typer>=0.16.0",
"unstructured>=0.17.2",
"wcmatch>=8.0.0",
]

View File

@ -5,75 +5,10 @@ description = "基于大模型的智能知识库与知识图谱智能体开发
readme = "README.md"
requires-python = ">=3.12,<3.14"
dependencies = [
"asyncpg>=0.30.0",
"aiosqlite>=0.20.0",
"sqlalchemy[asyncio]>=2.0.0",
"langchain>=1.2.0",
"langchain-core >= 1.2.5",
"colorlog>=6.9.0",
"dashscope>=1.23.2",
"docx2txt>=0.9",
"fastapi>=0.121",
"langchain-community>=0.4",
"langchain-deepseek>=1.0",
"langchain-mcp-adapters>=0.1.9",
"langchain-openai>=1.0.2",
"langchain-tavily>=0.2.13",
"langchain-text-splitters>=1.0",
"langfuse>=4.0.0",
"langgraph>=1.0.1",
"langgraph-checkpoint-sqlite>=3.0",
"langgraph-checkpoint-postgres>=2.0.0",
"langgraph-cli[inmem]>=0.4",
"langsmith>=0.4",
"lightrag-hku>=1.4.6",
"llama-index>=0.14",
"llama-index-readers-file>=0.4.7",
"markdownify>=1.1.0",
"readability-lxml>=0.8.1",
"mcp>=1.20",
"neo4j>=5.28.1",
"networkx>=3.5",
"openai>=1.109",
"opencv-python-headless>=4.11.0.86",
"pyjwt>=2.8.0",
"pymilvus>=2.5.8",
"pymupdf>=1.25.5",
"python-dotenv>=1.1.0",
"python-jose[cryptography]>=3.4.0",
"python-multipart>=0.0.20",
"pyyaml>=6.0.2",
"rapidocr-onnxruntime>=1.4.4",
"tavily-python>=0.7.0",
"unstructured>=0.17.2",
"uvicorn[standard]>=0.34.2",
"httpx>=0.27.0",
"tqdm>=4.66.4",
"rich>=13.7.1",
"typer>=0.16.0",
"tabulate>=0.9.0",
"minio>=7.2.7",
"Pillow>=10.5.0",
"pymysql>=1.1.0",
"tenacity>=8.0.0",
"pypinyin>=0.55.0",
"tomli",
"tomli-w",
"aiofiles>=24.1.0",
"aiohttp>=3.9.0",
"arq>=0.26.3",
"chardet>=5.0.0",
"deepagents>=0.2.5",
"agent-sandbox>=0.0.26",
"json-repair>=0.54.0",
"torch>=2.8.0",
"torchvision==0.23",
"docling>=2.68.0",
"loguru>=0.7.3",
"redis>=5.2.0",
"aioboto3>=13.0.0",
"wcmatch>=8.0.0",
"psycopg[binary,pool]>=3.3.3",
"yuxi",
]
[tool.ruff]
line-length = 120 # 代码最大行宽
@ -98,6 +33,7 @@ url = "https://download.pytorch.org/whl/cpu"
explicit = true
[tool.uv.sources]
yuxi = { workspace = true }
torch = { index = "pytorch-cpu" }
torchvision = { index = "pytorch-cpu" }

View File

@ -5707,18 +5707,12 @@ wheels = [
name = "yuxi"
version = "0.6.0"
source = { virtual = "package/yuxi" }
[[package]]
name = "yuxi-workspace"
version = "0.6.0"
source = { virtual = "." }
dependencies = [
{ name = "agent-sandbox" },
{ name = "aioboto3" },
{ name = "aiofiles" },
{ name = "aiohttp" },
{ name = "aiosqlite" },
{ name = "arq" },
{ name = "asyncpg" },
{ name = "chardet" },
{ name = "colorlog" },
@ -5726,7 +5720,6 @@ dependencies = [
{ name = "deepagents" },
{ name = "docling" },
{ name = "docx2txt" },
{ name = "fastapi" },
{ name = "httpx" },
{ name = "json-repair" },
{ name = "langchain" },
@ -5782,21 +5775,9 @@ dependencies = [
{ name = "tqdm" },
{ name = "typer" },
{ name = "unstructured" },
{ name = "uvicorn", extra = ["standard"] },
{ name = "wcmatch" },
]
[package.dev-dependencies]
dev = [
{ name = "ruff" },
]
test = [
{ name = "pytest" },
{ name = "pytest-asyncio" },
{ name = "pytest-cov" },
{ name = "pytest-httpx" },
]
[package.metadata]
requires-dist = [
{ name = "agent-sandbox", specifier = ">=0.0.26" },
@ -5804,7 +5785,6 @@ requires-dist = [
{ name = "aiofiles", specifier = ">=24.1.0" },
{ name = "aiohttp", specifier = ">=3.9.0" },
{ name = "aiosqlite", specifier = ">=0.20.0" },
{ name = "arq", specifier = ">=0.26.3" },
{ name = "asyncpg", specifier = ">=0.30.0" },
{ name = "chardet", specifier = ">=5.0.0" },
{ name = "colorlog", specifier = ">=6.9.0" },
@ -5812,7 +5792,6 @@ requires-dist = [
{ name = "deepagents", specifier = ">=0.2.5" },
{ name = "docling", specifier = ">=2.68.0" },
{ name = "docx2txt", specifier = ">=0.9" },
{ name = "fastapi", specifier = ">=0.121" },
{ name = "httpx", specifier = ">=0.27.0" },
{ name = "json-repair", specifier = ">=0.54.0" },
{ name = "langchain", specifier = ">=1.2.0" },
@ -5866,10 +5845,39 @@ requires-dist = [
{ name = "tqdm", specifier = ">=4.66.4" },
{ name = "typer", specifier = ">=0.16.0" },
{ name = "unstructured", specifier = ">=0.17.2" },
{ name = "uvicorn", extras = ["standard"], specifier = ">=0.34.2" },
{ name = "wcmatch", specifier = ">=8.0.0" },
]
[[package]]
name = "yuxi-workspace"
version = "0.6.0"
source = { virtual = "." }
dependencies = [
{ name = "arq" },
{ name = "fastapi" },
{ name = "uvicorn", extra = ["standard"] },
{ name = "yuxi" },
]
[package.dev-dependencies]
dev = [
{ name = "ruff" },
]
test = [
{ name = "pytest" },
{ name = "pytest-asyncio" },
{ name = "pytest-cov" },
{ name = "pytest-httpx" },
]
[package.metadata]
requires-dist = [
{ name = "arq", specifier = ">=0.26.3" },
{ name = "fastapi", specifier = ">=0.121" },
{ name = "uvicorn", extras = ["standard"], specifier = ">=0.34.2" },
{ name = "yuxi", virtual = "package/yuxi" },
]
[package.metadata.requires-dev]
dev = [{ name = "ruff", specifier = ">=0.12.1" }]
test = [

View File

@ -34,6 +34,7 @@
### 0.6.1
<!-- 0.6.1 的内容请放在这里 -->
- 调整 backend Python 工作区依赖边界:将 `backend/package/yuxi` 明确为承载核心运行依赖的业务包,根 `backend/pyproject.toml` 仅保留工作区入口与开发/测试配置,减少依赖职责混淆。
历史版本发布记录已迁移到 [版本变更记录](./changelog.md)。