[project] name = "mirofish-backend" version = "0.1.0" description = "MiroFish - 简洁通用的群体智能引擎,预测万物" requires-python = ">=3.11" license = { text = "AGPL-3.0" } authors = [ { name = "MiroFish Team" } ] dependencies = [ # 核心框架 "flask>=3.0.0", "flask-cors>=6.0.0", # LLM 相关 "openai>=1.0.0", # Zep Cloud "zep-cloud==3.13.0", # OASIS 社交媒体模拟 "camel-oasis==0.2.5", "camel-ai==0.2.78", # 文件处理 "PyMuPDF>=1.24.0", "markdown>=3.6", # 编码检测(支持非UTF-8编码的文本文件) "charset-normalizer>=3.0.0", "chardet>=5.0.0", # 工具库 "python-dotenv>=1.0.0", "pydantic>=2.0.0", "pyjwt>=2.8.0", "gunicorn>=22.0.0", # 数据库 & ORM "sqlalchemy>=2.0.0", "alembic>=1.13.0", "flask-sqlalchemy>=3.1.0", # Azure 存储 "azure-storage-blob>=12.19.0", # 安全 & 认证 "bcrypt>=4.1.0", "flask-jwt-extended>=4.6.0", ] [project.optional-dependencies] graphiti = [ "graphiti-core==0.28.2", "neo4j>=5.26.0", ] 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"] [tool.uv] override-dependencies = [ "neo4j>=5.26.0", ]