SuperAPI AI 工具集

python-best-practices

编程与开发

查看项目

更新于 10-15 20:25

技能介绍

用途:在编写、审查或重构 Python 代码时提供统一规范,适用于数据管道、ETL、API、CLI 工具开发及代码评审。

主要能力:代码风格遵循 PEP 8,使用 Ruff 格式化与检查,行宽 88 字符;所有方法需按 PEP 484 添加类型提示,用 T | None 表示可空值,用 dict[str, str] 等内置泛型,用 dataclass 组织数据、TypedDict 标注字典,并用 Astral 的 ty 做静态类型检查。错误处理要求使用具体异常类型、记录上下文日志、定义领域自定义异常,禁止静默吞掉异常。项目结构推荐 src/ 布局与 pyproject.toml,测试与源码相邻。依赖用精确版本锁定,区分开发与生产依赖,推荐 uv 管理,使用 uv add、uv venv、uv sync、uv run、uv add --dev。数据处理推荐 polars,配合 patito 做模式校验,按需读取列、分块或流式处理大文件,在入口处校验模式。测试用 pytest,配合 pytest-mock、unittest.mock、fixtures,可选 dirty-equals、hypothesis、inline-snapshot。日志用内置 logging 而非 print,仅在入口配置,生产可用 structlog。安全方面禁止硬编码密钥,用环境变量或密钥管理器,可用 uv run --env-file=.env,并用 bandit 做静态分析。

使用方式:scripts/lint.sh [path] 运行 Ruff 格式化、Ruff 检查、ty 与 Bandit;scripts/setup-project.sh <name> 用 uv init --lib 搭建新项目。references/pyproject-template.toml 提供含 Ruff、Bandit、pytest 配置的模板,references/logging-config.py 提供日志配置参考。

限制:资料未提供具体版本要求、性能数据或收费信息。