尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

一条命令生成全部类型存根:mypy_boto3_builder CLI 完全指南

一条命令生成全部类型存根:mypy_boto3_builder CLI 完全指南 一条命令生成全部类型存根mypy_boto3_builder CLI 完全指南【免费下载链接】mypy_boto3_builderType annotations builder for boto3 compatible with VSCode, PyCharm, Emacs, Sublime Text, pyright and mypy.项目地址: https://gitcode.com/gh_mirrors/my/mypy_boto3_builder在使用 boto3 开发 AWS 应用时你是否遇到过 IDE 无法补全、mypy 报出大段 Any 警告的烦恼mypy_boto3_builder 是一个自动生成 boto3 类型存根Type Stubs的开源工具它通过 CLI 一条命令就能为全部 AWS 服务生成类型注解兼容 VSCode、PyCharm、Emacs、Sublime Text、pyright 和 mypy让你的 AWS 代码获得完整的智能提示与静态类型检查。本文将带你从零上手它的 CLI 用法。为什么要生成 boto3 类型存根boto3 是动态生成 API 的 SDK其方法签名在类型检查器眼中基本都是Any导致 编辑器中没有参数提示手滑写错属性名要等到运行时才发现 mypy / pyright 对 boto3 代码几乎失明无法拦截低级 bugmypy_boto3_builder 会从 botocore 的 schema 中提取每个服务的类型定义生成包含完整文档、Literals、TypedDict 的类型存根包并交给 ruff 格式化保证代码可读。下面是官方演示动图展示了类型存根如何帮你发现潜在 bug最快安装方法官方推荐使用 uv 直接运行无需先装包uvx mypy_boto3_builder也可以使用 pip 安装构建工具本身python -m pip install mypy-boto3-builder建议先锁定目标 boto3 版本以获得最精确的结果uvx --with boto31.35.71 mypy-boto3-builder一条命令生成全部类型存根这是最核心的用法生成全部 AWS 服务的类型存根并打包成 wheel 文件python -m mypy_boto3_builder ./typings --product types-boto3 types-boto3-services --output-type wheel执行后./typings目录下会出现一批.whl文件直接安装即可python -m pip install ./typings/*.whl就这么简单生成逻辑在 main.py 的_run_builder中它会自动发现当前 botocore 支持的所有服务逐个生成types-boto3主包与types-boto3-services各服务独立子包。CLI 常用参数速查表所有参数的定义与解析都在 cli_parser.py 的parse_args中这里挑最常用的几个参数作用示例--product选择要生成的产品包--product types-boto3 types-boto3-services--output-type输出形式package / wheel / sdist / installed--output-type wheel-s, --services指定 AWS 服务默认全部-s ec2 s3--list-services列出当前支持的全部服务名--list-services--build-version手动指定版本号默认自动 smart versioning--build-version 1.35.71--skip-published跳过 PyPI 上已存在的版本--skip-published--no-smart-version关闭联网版本检测适合离线构建--no-smart-version-d, --debug输出调试日志-d按需选择服务all / essential / updated全部服务数量庞大生成时间长。CLI 支持三种智能选择方式定义见 service_name.py 与 main.py 的get_selected_service_names-s all全部服务默认-s essential只生成 7 个核心服务即 ec2、rds、s3、lambda、sqs、cloudformation、dynamodb-s updated只生成当前 boto3 版本中更新过的服务日常增量构建非常快例如只生成 S3 与 EC2 的类型存根python -m mypy_boto3_builder ./typings --product types-boto3 types-boto3-services --output-type wheel -s ec2 s3四种输出类型怎么选--output-type决定产物形态见 output_type.py️package直接生成可用的源码目录适合本地开发调试默认wheel打包成 wheel 文件方便安装与分发️sdist生成源码分发包⚡installed生成已安装包对应的 typing 目录适合给已装的 boto3 直接补类型产品矩阵同步支持 boto3 与异步生态除了同步的types-boto3CLI 还能为异步库生成类型存根完整枚举见 product.pytypes-boto3boto3 / botocore 标准库types-aiobotocoreaiobotocore 异步客户端types-aioboto3aioboto3 异步资源封装boto3-stubs旧版包名兼容mypy-boto3单个服务的独立存根包为异步生态生成也很简单只需更换--productpython -m mypy_boto3_builder ./typings --product aiobotocore aiobotocore-services --output-type wheel隐藏的交互模式对话式生成如果不传输出路径直接运行uvx mypy_boto3_builder工具会进入对话式 ChatBuddy 模式实现见 chat/chat_buddy.py像聊天一样一步步问你选择产品、服务、输出目录适合不熟悉命令行参数的新手。进阶小技巧离线构建加上--no-smart-version可跳过 PyPI 联网检查配合固定版本号使用更稳增量更新日常更新类型存根用-s updated只构建有变化的服务速度快数倍Docker 使用项目提供官方 Docker 镜像通过-e BOTO3_VERSION1.35.71 -e BOTOCORE_VERSION1.35.71指定版本即可在容器中批量生成IDE 联动生成后直接在 VSCode 中启用 boto3 补全mypy 项目则建议配合 types-boto3 的[essential]extras 安装结语mypy_boto3_builder 把为 boto3 生成类型存根从繁琐的手工劳动变成了一条 CLI 命令。无论是同步的 boto3还是异步的 aiobotocore、aioboto3你都能在几分钟内获得完整的代码补全和静态检查能力。立刻复制上面的命令让 IDE 和类型检查器真正看懂你的 AWS 代码吧【免费下载链接】mypy_boto3_builderType annotations builder for boto3 compatible with VSCode, PyCharm, Emacs, Sublime Text, pyright and mypy.项目地址: https://gitcode.com/gh_mirrors/my/mypy_boto3_builder创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表