使用boto3-stubs生成的typing类型提示文件是否需要提交到版本控制系统?
boto3-stubs生成typings目录的Git提交最佳实践
将自动生成的typings目录加入.gitignore忽略是通用的行业最佳实践,和你的个人倾向完全一致,核心原因如下:
- 这类.pyi存根属于依赖衍生的自动生成产物,和编译类中间文件性质相同,不属于项目原生源码范畴,不需要纳入版本控制。
- 避免版本冲突:不同协作者本地安装的boto3、boto3-stubs版本如果有差异,生成的存根文件内容也会不同,提交到仓库后极易引发无意义的合并冲突。
- 降低仓库冗余:全量AWS服务的类型存根文件数量多、体积大,长期提交会显著增加Git仓库的冗余体积,提升仓库拉取、克隆的时间成本。
- 适配灵活需求:协作者可以根据本地实际使用的boto3版本、需要用到的AWS服务范围按需生成存根,不需要全量下载不需要的存根文件,也能适配不同开发环境的依赖版本差异。
如果你想统一团队的生成规则,可以在项目的开发依赖声明(比如
requirements-dev.txt、pyproject.toml)中加入boto3-stubs和mypy_boto3_builder的版本约束,再在开发环境搭建文档中补充生成命令示例即可,不需要提交生成后的文件。
内容的提问来源于stack exchange,提问作者mati.o
相关产品推荐
相关产品推荐

