ForcePilot/backend/package/pyproject.toml
Kris 74709ba2d3 feat: 完成外部系统限界上下文核心代码实现
新增六边形架构核心代码包,包含:
1. 协议适配器层:HTTP/SMTP/IMAP/SSH/GRPC等多协议适配器实现
2. 认证插件体系:基础认证、API密钥、HMAC等多类型认证插件
3. 执行编排框架:工具执行器、上下文构建、运行时治理组件
4. 用例端口与DTO:定义领域服务端口与数据传输对象
5. 厂商集成包框架:支持第三方系统集成扩展
6. 基础设施装配层:实现依赖注入与服务装配

所有代码遵循六边形架构设计原则,实现端口与适配器解耦,支持动态扩展与自动发现。
2026-06-20 22:12:42 +08:00

163 lines
4.1 KiB
TOML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

[build-system]
requires = ["setuptools>=80", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "yuxi"
version = "0.7.0"
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",
"argon2-cffi>=25.1.0",
"asyncpg>=0.30.0",
"chardet>=5.0.0",
"colorlog>=6.9.0",
"cryptography>=42.0.0",
"dashscope>=1.23.2",
"deepagents>=0.6.7",
"docling>=2.68.0",
"docx2txt>=0.9",
"httpx>=0.27.0",
"igraph>=0.11.8",
"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",
"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",
"onnxruntime>=1.20.0",
"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-multipart>=0.0.20",
"pyyaml>=6.0.2",
"rapidocr>=3.0.0",
"xmltodict>=0.13.0",
"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",
# Markdown 解析语义切分相关依赖
"markdown-it-py>=3.0.0",
"mdit-py-plugins>=0.4.0",
"scikit-learn>=1.3.0",
"nltk>=3.8.1",
"beautifulsoup4>=4.12.0",
]
[project.optional-dependencies]
grpc = [
"grpcio>=1.64.0",
"grpcio-reflection>=1.64.0",
"grpcio-tools>=1.64.0",
"protobuf>=5.0,<6.0",
]
database = [
"aiomysql>=0.2.0", # MySQL 异步驱动,按需安装
"motor>=3.0.0", # MongoDB 异步驱动,按需安装
]
smtp = [
"aiosmtplib>=3.0.0", # SMTP 异步客户端,按需安装
"email-validator>=2.0.0", # 邮箱地址校验,按需安装
]
ftp = [
"aioftp>=0.22.0", # FTP 异步客户端,按需安装
"asyncssh>=2.14.0", # SFTP 异步客户端,按需安装
]
soap = [
"zeep>=4.0.0", # SOAP/WSDL 客户端,按需安装
]
imap = [
"aioimaplib>=1.0.0", # IMAP 异步客户端,按需安装
]
ldap = [
"ldap3>=2.9.0", # LDAP 客户端,按需安装
]
kafka = [
"aiokafka>=0.11.0", # Kafka 异步客户端,按需安装
]
amqp = [
"aio-pika>=9.0", # AMQP 异步客户端(基于 aiormq按需安装
]
openapi = [
"openapi-spec-validator>=0.7", # OpenAPI/Swagger 文档校验,按需安装
]
bigquery = [
"google-cloud-bigquery>=3.0.0", # BigQuery SDK按需安装
"google-auth>=2.0.0", # Google Auth 库,按需安装
"google-api-core>=2.0.0", # Google API 核心异常类型,按需安装
]
databricks = [
"databricks-sql-connector>=3.0.0", # Databricks SQL Warehouse 驱动,按需安装
]
snowflake = [
"snowflake-connector-python>=3.0.0", # Snowflake 数据仓库驱动,按需安装
]
[tool.setuptools]
include-package-data = true
[tool.setuptools.packages.find]
where = ["."]
include = ["yuxi*"]
[tool.uv]
[[tool.uv.index]]
name = "tsinghua"
url = "https://pypi.tuna.tsinghua.edu.cn/simple"
default = true
[[tool.uv.index]]
name = "pytorch-cpu"
url = "https://download.pytorch.org/whl/cpu"
explicit = true
[tool.uv.sources]
yuxi = { path = "package", editable = true }
torch = { index = "pytorch-cpu" }
torchvision = { index = "pytorch-cpu" }