SuperAPI AI 工具集

python-project

编程与开发

查看项目

更新于 10-16 00:04

技能介绍

用途:创建并组织现代 Python 项目(API、CLI、数据管道)时,提供一套可复用的架构约定与目录结构。

核心原则:全面使用类型提示(Pydantic 负责运行时校验、mypy 负责静态检查);用 uv 统一管理包、虚拟环境和 Python 版本;只用 Ruff 替代 Flake8 + Black + isort;采用 src 布局;仅用 pyproject.toml,不使用 setup.py 或 requirements.txt;异步贯穿整个调用链;不做向后兼容,直接删除和替换而非标记弃用;接入 LLM 时统一通过 LiteLLM 代理,不直接调用各厂商 API。

技术栈建议:uv 依赖管理、Ruff 检查与格式化、mypy 类型检查、Pydantic v2 校验、FastAPI Web 框架、SQLAlchemy 2.0 + asyncpg 数据库、httpx HTTP 客户端、pytest + pytest-asyncio 测试、structlog 日志。版本策略为总是使用最新版,不建议在模板中固定版本。

快速开始:安装 uv 使用 curl -LsSf https://astral.sh/uv/install.sh | sh;随后 uv init myapp、cd myapp、echo "3.12" > .python-version,再通过 uv add 与 uv add --dev 添加依赖。uv.lock 需提交以保证构建可复现,uv sync 安装锁定版本。

结构分层:src/ 下按 main.py(FastAPI 应用)、config.py(Pydantic Settings)、models/(Pydantic 模型)、services/(业务逻辑)、repositories/(数据访问)、api/(HTTP 层,含 deps.py 与 routes/)、core/(异常与日志)划分;tests/ 存放测试与 conftest.py。各层职责示例包括路由调用服务、服务调用仓储并抛出 NotFoundError / ConflictError 等自定义异常,以及由 app_error_to_http 统一映射为 HTTP 状态码。

限制与说明:该指南对文件结构和代码风格有较强制约定,且明确放弃向后兼容,迁移成本需自行评估;其中部分扩展内容(如测试等)被移至 reference/extended.md,完整示例、命令目录与平台细节需查阅该引用文件。除上述内容外,文档未提供更多收费、价格或平台支持信息。