[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" }