如何在返回各种boto 3资源的函数中添加类型提示?我想在PyCharm等IDE中获得自动完成/检查返回值。Boto 3做了一些工厂创建魔术,所以我不知道如何正确声明类型import boto3 ec2 = boto3.Session().resource('ec2') a = ec2.Image('asdf') a.__class__ # => boto3.resources.factory.ec2.Image
但是boto3.resources.factory.ec2.Image
似乎不是一个Python可以识别的类,所以我不能用它作为类型提示。
文档显示返回类型是EC2.Image
。但是有没有一种方法可以将该类型作为常规Python类型导入?
3条答案
按热度按时间hc8w905p1#
更新2021
正如@eega所提到的,我不再维护这个软件包了。我建议你看看boto3-stubs。它是
boto3_type_annotations
的一个更成熟的版本。原始答案
我做了一个可以帮助解决这个问题的软件包,
boto3_type_annotations
。它可以带文档也可以不带文档。下面是示例用法。在我的github上还有一个使用PyCharm的GIF。pxyaymoc2#
Allie Fitter提到的boto3_type_annotations已被弃用,但他链接到一个替代方案:https://pypi.org/project/boto3-stubs/
uz75evzq3#
看看aws-samples中的这个项目,它是一个带有boto_stubs的瘦集成层,并且它具有开箱即用的显式类型提示https://github.com/aws-samples/boto-session-manager-project/tree/main