Skip to main content

使用 mypy-boto3-builder 7.11.8 生成的 boto3.RDSDataService 1.24.64 服务的类型注释

项目描述

mypy-boto3-rds-数据

PyPI - mypy-boto3-rds-数据 PyPI - Python 版本 文档 PyPI - 下载

boto3.typed

boto3.RDSDataService 1.24.64服务的类型注释 兼容VSCodePyCharmEmacsSublime Textmypypyright和其他工具。

mypy-boto3-builder 7.11.8 生成

更多信息可以在 boto3-stubs页面和 mypy-boto3-rds-data 文档中找到。

了解它如何帮助查找和修复潜在错误:

boto3-stubs 演示

如何安装

VSCode 扩展

AWS Boto3 扩展添加到您的 VSCode 并运行AWS boto3: Quick Start命令。

单击Modify并选择boto3 commonRDSDataService

来自带有 pip 的 PyPI

安装boto3-stubs服务RDSDataService

# install with boto3 type annotations
python -m pip install 'boto3-stubs[rds-data]'


# Lite version does not provide session.client/resource overloads
# it is more RAM-friendly, but requires explicit type annotations
python -m pip install 'boto3-stubs-lite[rds-data]'


# standalone installation
python -m pip install mypy-boto3-rds-data

如何卸载

python -m pip uninstall -y mypy-boto3-rds-data

用法

VSCode

  • 安装 Python 扩展
  • 安装 Pylance 扩展
  • 设置Pylance为您的 Python 语言服务器
  • boto3-stubs[rds-data]在您的环境中安装:
python -m pip install 'boto3-stubs[rds-data]'

类型检查和代码完成现在都应该可以工作了。不需要显式类型注释,boto3像往常一样编写代码。

PyCharm

boto3-stubs-lite[rds-data]在您的环境中安装:

python -m pip install 'boto3-stubs-lite[rds-data]'`

类型检查和代码完成现在都应该可以工作了。需要显式类型注释。

使用boto3-stubs包代替隐式类型发现。

Emacs

  • 安装boto3-stubs您在环境中使用的服务:
python -m pip install 'boto3-stubs[rds-data]'
(use-package lsp-pyright
  :ensure t
  :hook (python-mode . (lambda ()
                          (require 'lsp-pyright)
                          (lsp)))  ; or lsp-deferred
  :init (when (executable-find "python3")
          (setq lsp-pyright-python-executable-cmd "python3"))
  )
  • 确保 emacs 使用您安装的环境boto3-stubs

类型检查现在应该可以工作了。不需要显式类型注释,boto3像往常一样编写代码。

崇高的文本

  • 安装boto3-stubs[rds-data]您在环境中使用的服务:
python -m pip install 'boto3-stubs[rds-data]'

类型检查现在应该可以工作了。不需要显式类型注释,boto3像往常一样编写代码。

其他 IDE

未经测试,但只要您的 IDE 支持mypyor pyright,一切都应该工作。

我的

  • 安装mypypython -m pip install mypy
  • boto3-stubs[rds-data]在您的环境中安装:
python -m pip install 'boto3-stubs[rds-data]'`

类型检查现在应该可以工作了。不需要显式类型注释,boto3像往常一样编写代码。

版权

  • 安装pyrightnpm i -g pyright
  • boto3-stubs[rds-data]在您的环境中安装:
python -m pip install 'boto3-stubs[rds-data]'

或者,您可以安装boto3-stubstypings文件夹。

类型检查现在应该可以工作了。不需要显式类型注释,boto3像往常一样编写代码。

显式类型注释

客户端注释

RDSDataServiceClientboto3.client("rds-data").

from boto3.session import Session

from mypy_boto3_rds_data import RDSDataServiceClient

client: RDSDataServiceClient = Session().client("rds-data")

# now client usage is checked by mypy and IDE should provide code completion

字面量

mypy_boto3_rds_data.literals模块包含从形状中提取的文字,可在用户代码中用于类型检查。

from mypy_boto3_rds_data.literals import (
    DecimalReturnTypeType,
    LongReturnTypeType,
    RecordsFormatTypeType,
    TypeHintType,
    RDSDataServiceServiceName,
    ServiceName,
    ResourceServiceName,
    RegionName,
)


def check_value(value: DecimalReturnTypeType) -> bool:
    ...

打字字典

mypy_boto3_rds_data.type_defs模块包含组装到类型化字典的结构和形状,以进行额外的类型检查。

from mypy_boto3_rds_data.type_defs import (
    ArrayValueTypeDef,
    ResponseMetadataTypeDef,
    BeginTransactionRequestRequestTypeDef,
    ColumnMetadataTypeDef,
    CommitTransactionRequestRequestTypeDef,
    ExecuteSqlRequestRequestTypeDef,
    ResultSetOptionsTypeDef,
    FieldTypeDef,
    RecordTypeDef,
    RollbackTransactionRequestRequestTypeDef,
    StructValueTypeDef,
    ValueTypeDef,
    BeginTransactionResponseTypeDef,
    CommitTransactionResponseTypeDef,
    RollbackTransactionResponseTypeDef,
    ResultSetMetadataTypeDef,
    ExecuteStatementResponseTypeDef,
    SqlParameterTypeDef,
    UpdateResultTypeDef,
    ResultFrameTypeDef,
    BatchExecuteStatementRequestRequestTypeDef,
    ExecuteStatementRequestRequestTypeDef,
    BatchExecuteStatementResponseTypeDef,
    SqlStatementResultTypeDef,
    ExecuteSqlResponseTypeDef,
)


def get_structure() -> ArrayValueTypeDef:
    return {...}

这个怎么运作

全自动 的mypy-boto3-builder为每个服务仔细生成类型注解,耐心等待boto3 更新。它为您提供插入式注释,并确保:

  • 涵盖所有可用boto3服务。
  • 每个boto3服务的每个公共类和方法都会从文档中提取有效的类型注释(botocore如果类型不正确,请归咎于文档)。
  • 类型注释包括最新的文档。
  • 每种方法都提供了文档链接。
  • 为了可读性,代码由blackisort处理。

什么是新的

实现的功能

  • 全类型注释boto3botocoreaiobotocore
  • mypy, pyright, VSCode, PyCharm,Sublime TextEmacs 兼容性
  • Client, ServiceResource, Resource,Waiter Paginator为每个服务键入注释
  • TypeDefs为每个服务生成
  • Literals为每个服务生成
  • 自动发现类型boto3.clientboto3.session调用
  • 自动发现类型session.clientsession.session调用
  • 自动发现类型client.get_waiterclient.get_paginator 调用
  • 自动发现类型ServiceResourceResource集合
  • 自动发现aiobotocore.Session.create_client呼叫类型

最新变化

生成器更改日志可以在 Releases中找到。

版本控制

mypy-boto3-rds-data版本与相关boto3版本相同,遵循PEP 440格式。

谢谢

文档

所有服务类型注释都可以在 boto3 文档中找到

支持和贡献

这个包是自动生成的。请在mypy-boto3-builder存储库中报告任何错误或请求新功能 。

项目详情