[project] name = "backend" version = "2.0.0" description = "后端工程" readme = "README.md" requires-python = ">=3.10" dependencies = [ "aiofiles==24.1.0", # 文件操作 "aiosqlite==0.17.0", # sqlite 异步操作数据库 "alembic==1.15.1", # 数据库迁移 "apscheduler==3.11.0", # 定时任务 "asyncmy==0.2.9", # mysql 异步操作数据库:基于 mysqlclient:asyncmy 是 mysqlclient 的异步版本,mysqlclient 是一个 C 语言编写的 MySQL 客户端,性能较高。性能:asyncmy 通常在性能上优于 aiomysql,特别是在高并发和大数据量的场景下。 "asyncpg==0.30.0", # postgresql 异步操作数据库基于 psycopg2:asyncpg 是 psycopg2 的异步版本,psycopg2 是一个 pure-Python PostgreSQL 数据库适配器。性能:asyncpg 通常在性能上优于 psycopg2,特别是在高并发和大数据量的场景下。 "bcrypt==4.0.1", # 密码加密解析,切勿升级,如果升级,请同时升级python版本 "click==8.1.7", # 命令行参数解析 "croniter==6.0.0", # 实现cron表达式验证和解析执行计划 "cryptography==45.0.2", # mysql8 密码加密 "fastapi==0.115.2", # fastapi 框架 "fastapi-limiter==0.1.6", # 接口限流 "greenlet==3.1.1", # 协程框架 "gunicorn==23.0.0", # 协程框架 "httpx==0.27.2", # HTTP 客户端 "itsdangerous==2.2.0", # 用于安全处理各种数据,如密码、密钥等 "jinja2==3.1.6", # 模板引擎 "langchain==1.2.0", # 大模型 "langchain-anthropic==1.3.0", # 大模型 anthropic 适配器 "langchain-mcp-adapters==0.2.1", # 大模型 mcp 适配器 "langchain-openai==1.1.6", # 大模型 openai 适配器 "loguru==0.7.3", # 日志 "openpyxl==3.1.5", # Excel "pandas==2.2.2", # 数据处理 "passlib==1.7.4", # 密码加密 "pillow==11.0.0", # 图片处理 "psutil==6.1.0", # 系统信息 "psycopg==3.3.2", # postgresql 同步操作数据库基于 psycopg是psycopg2升级版:psycopg2 是一个 pure-Python PostgreSQL 适配器。 "pydantic-settings==2.5.2", # 配置设置 "pydantic-validation-decorator==0.1.4", # 模型验证 "pyjwt==2.9.0", # OAuth2 "pymysql==1.1.2", # mysql 同步步操作数据库基于 pymysql:aiomysql 是 pymysql 的异步版本,pymysql 是一个纯 Python 实现的 MySQL 客户端。成熟度:aiomysql 相对较为成熟,社区支持较好,文档也比较完善。 "python-multipart==0.0.9", # request.form() 对表单进行「解析」时安装 "redis==7.1.0", # redis 同/异步操作数据库(用户celery配套使用)redis 异步操作数据库 redis已经完全具备了aioredis的功能,无需重复安全,且aioredis已经不再维护也不兼容3.10+的版本 "rich==13.9.4", # 终端打印美化 "ruff==0.14.13", "sqlalchemy==2.0.45", # 数据库ORM "sqlglot[rs]==27.8.0", # sql 解析 "typer==0.9.0", # 命令行工具 "user-agents==2.2.0", # 获取用户UA "uvicorn==0.30.6", # uvicorn web 框架 "websockets==14.2", # websocket 框架 "ruff==0.14.13", # 代码格式化 ] [tool.uv] cache-keys = [{ file = "pyproject.toml" }, { file = "requirements.txt" }]