我已经将ruff
添加到一个现有的项目中,我的规则之一是flake 8-annotations。我正在为这样做的函数的类型提示而挣扎:
def _dynamodb_resource():
return boto3.resource('dynamodb', region_name=REGION)
在文档中,它说boto3.resources.base.ServiceResource
将是正确的选择,但是这给了我另一个警告,即ServiceResource没有Table属性。有没有办法让它工作而不发出任何警告?
from boto3.resources.base import ServiceResource
dynamodb_resource = _dynamodb_resource()
table = dynamodb_resource.Table("table") <-- Unresolved attribute reference 'Table' for class 'ServiceResource'
def _dynamodb_resource() -> ServiceResource:
return boto3.resource('dynamodb', region_name=REGION)
1条答案
按热度按时间ejk8hzay1#
Boto3类型是在运行时生成的,所以它们往往会导致静态检查器出现问题。有第三方库可以解决这个问题,即下面这个库:https://pypi.org/project/boto3-stubs/
在你的例子中,它看起来像这样: