Python 开发
python-格式化利器
这份笔记围绕 Python 项目的代码格式化与质量检查工具链展开,推荐用 Ruff 作为核心工具统一承担格式化、lint 和 import 排序,减少 Black、flake8、isort 分散配置带来的维护成本。配置流程从使用 uv 安装 ruff、mypy、pytest-cov、bandit、pre-commit 开始,再将 Ruff 与 mypy 配置集中写入 pyproject.toml,其中包含 100 字符行宽、自动 import 排序、自动修复,以及 SQLAlchemy 2.0 mypy 插件、未标注函数检查等类型约束。执行层面给出 ruff format、ruff check、mypy app、bandit -r app、pytest 覆盖率测试等常用命令,并说明应先 format 再 lint,以避免先看到大量可自动修复的格式报错。自动化部分覆盖 pre-commit 钩子配置、全量检查命令,以及 GitHub Actions 中在 push 和 pull_request 时运行 Ruff、mypy、bandit 的 CI 示例。文末还提供面向 FastAPI + SQLAlchemy 项目的 Makefile 模板,把 format、lint、typecheck、security、test、all 等任务封装成统一入口。适合希望快速建立本地开发、提交前检查和 CI 流程一致性的 Python 后端项目参考,尤其适用于已有 app 目录结构并使用类型检查、测试覆盖率和安全扫描的团队。
