[build-system] requires = ["setuptools>=75.0", "wheel"] build-backend = "setuptools.backends._legacy:_Backend" [project] name = "huibrain" version = "1.2.0" description = "中文直播教育知识库系统 - 基于向量检索的知识管理平台" readme = "README.md" requires-python = ">=3.11" license = {text = "MIT"} authors = [ {name = "HuiBrain Team"}, ] classifiers = [ "Development Status :: 3 - Alpha", "Framework :: FastAPI", "Programming Language :: Python :: 3.11", "Topic :: Education", ] dependencies = [ "fastapi>=0.115.0", "uvicorn[standard]>=0.32.0", "pydantic-settings>=2.6.0", "sqlalchemy[asyncio]>=2.0.36", "aiosqlite>=0.20.0", "openai>=1.58.0", "zhipuai>=2.4.0", "dashscope>=1.20.0", "sentence-transformers>=3.3.0", "paddleocr>=2.9.0", "mcp[cli]>=1.2.0", "frontmatter>=3.2.0", "python-multipart>=0.0.18", "numpy>=1.26.0", ] [project.optional-dependencies] dev = [ "pytest>=8.0.0", "pytest-asyncio>=0.24.0", "httpx>=0.28.0", "ruff>=0.8.0", ] [project.scripts] huibrain = "app.main:app" huibrain-mcp = "app.mcp.server:run_mcp_server" [tool.ruff] target-version = "py311" line-length = 120 [tool.ruff.lint] select = ["E", "F", "I", "N", "W", "UP"] [tool.pytest.ini_options] asyncio_mode = "auto" testpaths = ["tests"]