78 lines
2.2 KiB
TOML
78 lines
2.2 KiB
TOML
[project]
|
||
name = "mirofish-backend"
|
||
version = "0.2.0"
|
||
description = "MiroFish - 简洁通用的群体智能引擎,预测万物"
|
||
requires-python = ">=3.11,<3.13"
|
||
license = { text = "AGPL-3.0" }
|
||
authors = [
|
||
{ name = "MiroFish Team" }
|
||
]
|
||
|
||
dependencies = [
|
||
# 核心框架
|
||
"flask>=3.0.0",
|
||
"flask-cors>=6.0.0",
|
||
|
||
# LLM 相关
|
||
"openai>=1.0.0",
|
||
|
||
# 知识图谱 (replaces zep-cloud)
|
||
# Graphiti is the open-source engine behind Zep; runs server-side extraction
|
||
# using your LLM provider (MiniMax M3) and stores the graph in FalkorDB.
|
||
"graphiti-core[falkordb]>=0.20.0",
|
||
# falkordb is the official Python client for the graph backend
|
||
"falkordb>=1.0.0",
|
||
# sentence-transformers is the local embedding provider we use (FalkorDB
|
||
# doesn't bundle one, and MiniMax's bespoke embeddings API is rate-limited
|
||
# and not OpenAI-compatible)
|
||
"sentence-transformers>=3.0.0",
|
||
"torch>=2.0.0",
|
||
|
||
# OASIS 社交媒体模拟
|
||
# Vendored fork — see vendor/camel-oasis/pyproject.toml for the rationale
|
||
# (the upstream package pins neo4j==5.23.0 which conflicts with
|
||
# graphiti-core[falkordb]'s neo4j>=5.26.0; our fork relaxes the pin since
|
||
# MiroFish's OASIS scripts never invoke the neo4j driver).
|
||
"camel-oasis @ file:///app/backend/vendor/camel-oasis",
|
||
"camel-ai==0.2.78",
|
||
|
||
# 文件处理
|
||
"PyMuPDF>=1.24.0",
|
||
# 编码检测(支持非UTF-8编码的文本文件)
|
||
"charset-normalizer>=3.0.0",
|
||
"chardet>=5.0.0",
|
||
|
||
# 工具库
|
||
# 环境变量加载
|
||
"python-dotenv>=1.0.0",
|
||
|
||
# 数据验证
|
||
"pydantic>=2.0.0",
|
||
]
|
||
|
||
[project.optional-dependencies]
|
||
dev = [
|
||
"pytest>=8.0.0",
|
||
"pytest-asyncio>=0.23.0",
|
||
"pipreqs>=0.5.0",
|
||
]
|
||
|
||
[build-system]
|
||
requires = ["hatchling"]
|
||
build-backend = "hatchling.build"
|
||
|
||
[dependency-groups]
|
||
dev = [
|
||
"pytest>=8.0.0",
|
||
"pytest-asyncio>=0.23.0",
|
||
]
|
||
|
||
[tool.hatch.build.targets.wheel]
|
||
packages = ["app"]
|
||
|
||
# Required because the deps list includes a direct-reference local path dep
|
||
# (camel-oasis @ file:///app/backend/vendor/camel-oasis). Without this,
|
||
# hatchling refuses to build the editable.
|
||
[tool.hatch.metadata]
|
||
allow-direct-references = true
|