Skip to main content

使用 mypy-boto3-builder 7.11.6 生成的 boto3.LakeFormation 1.24.54 服务的类型注释

项目描述

mypy-boto3-lakeformation

PyPI - mypy-boto3-lakeformation PyPI - Python 版本 文档 PyPI - 下载

boto3.typed

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

mypy-boto3-builder 7.11.6 生成

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

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

boto3-stubs 演示

如何安装

VSCode 扩展

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

单击Modify并选择boto3 commonLakeFormation

来自带有 pip 的 PyPI

安装boto3-stubs服务LakeFormation

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


# 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[lakeformation]'


# standalone installation
python -m pip install mypy-boto3-lakeformation

如何卸载

python -m pip uninstall -y mypy-boto3-lakeformation

用法

VSCode

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

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

PyCharm

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

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

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

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

Emacs

  • 安装boto3-stubs您在环境中使用的服务:
python -m pip install 'boto3-stubs[lakeformation]'
(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[lakeformation]您在环境中使用的服务:
python -m pip install 'boto3-stubs[lakeformation]'

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

其他 IDE

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

我的

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

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

版权

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

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

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

显式类型注释

客户端注释

LakeFormationClientboto3.client("lakeformation").

from boto3.session import Session

from mypy_boto3_lakeformation import LakeFormationClient

client: LakeFormationClient = Session().client("lakeformation")

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

分页器注释

mypy_boto3_lakeformation.paginator模块包含所有分页器的类型注释。

from boto3.session import Session

from mypy_boto3_lakeformation import LakeFormationClient
from mypy_boto3_lakeformation.paginator import (
    GetWorkUnitsPaginator,
    ListDataCellsFilterPaginator,
    ListLFTagsPaginator,
    SearchDatabasesByLFTagsPaginator,
    SearchTablesByLFTagsPaginator,
)

client: LakeFormationClient = Session().client("lakeformation")

# Explicit type annotations are optional here
# Types should be correctly discovered by mypy and IDEs
get_work_units_paginator: GetWorkUnitsPaginator = client.get_paginator("get_work_units")
list_data_cells_filter_paginator: ListDataCellsFilterPaginator = client.get_paginator(
    "list_data_cells_filter"
)
list_lf_tags_paginator: ListLFTagsPaginator = client.get_paginator("list_lf_tags")
search_databases_by_lf_tags_paginator: SearchDatabasesByLFTagsPaginator = client.get_paginator(
    "search_databases_by_lf_tags"
)
search_tables_by_lf_tags_paginator: SearchTablesByLFTagsPaginator = client.get_paginator(
    "search_tables_by_lf_tags"
)

字面量

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

from mypy_boto3_lakeformation.literals import (
    ComparisonOperatorType,
    DataLakeResourceTypeType,
    FieldNameStringType,
    GetWorkUnitsPaginatorName,
    ListDataCellsFilterPaginatorName,
    ListLFTagsPaginatorName,
    OptimizerTypeType,
    PermissionType,
    PermissionTypeType,
    QueryStateStringType,
    ResourceShareTypeType,
    ResourceTypeType,
    SearchDatabasesByLFTagsPaginatorName,
    SearchTablesByLFTagsPaginatorName,
    TransactionStatusFilterType,
    TransactionStatusType,
    TransactionTypeType,
    LakeFormationServiceName,
    ServiceName,
    ResourceServiceName,
    PaginatorName,
    RegionName,
)


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

打字字典

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

from mypy_boto3_lakeformation.type_defs import (
    LFTagPairTypeDef,
    ResponseMetadataTypeDef,
    AddObjectInputTypeDef,
    AssumeDecoratedRoleWithSAMLRequestRequestTypeDef,
    AuditContextTypeDef,
    ErrorDetailTypeDef,
    DataLakePrincipalTypeDef,
    CancelTransactionRequestRequestTypeDef,
    ColumnWildcardTypeDef,
    CommitTransactionRequestRequestTypeDef,
    CreateLFTagRequestRequestTypeDef,
    DataCellsFilterResourceTypeDef,
    RowFilterTypeDef,
    DataLocationResourceTypeDef,
    DatabaseResourceTypeDef,
    DeleteDataCellsFilterRequestRequestTypeDef,
    DeleteLFTagRequestRequestTypeDef,
    DeleteObjectInputTypeDef,
    VirtualObjectTypeDef,
    DeregisterResourceRequestRequestTypeDef,
    DescribeResourceRequestRequestTypeDef,
    ResourceInfoTypeDef,
    DescribeTransactionRequestRequestTypeDef,
    TransactionDescriptionTypeDef,
    DetailsMapTypeDef,
    ExecutionStatisticsTypeDef,
    ExtendTransactionRequestRequestTypeDef,
    FilterConditionTypeDef,
    GetDataLakeSettingsRequestRequestTypeDef,
    GetEffectivePermissionsForPathRequestRequestTypeDef,
    GetLFTagRequestRequestTypeDef,
    GetQueryStateRequestRequestTypeDef,
    GetQueryStatisticsRequestRequestTypeDef,
    PlanningStatisticsTypeDef,
    GetTableObjectsRequestRequestTypeDef,
    PartitionValueListTypeDef,
    GetWorkUnitResultsRequestRequestTypeDef,
    PaginatorConfigTypeDef,
    GetWorkUnitsRequestRequestTypeDef,
    WorkUnitRangeTypeDef,
    LFTagKeyResourceTypeDef,
    LFTagTypeDef,
    TableResourceTypeDef,
    ListLFTagsRequestRequestTypeDef,
    ListTableStorageOptimizersRequestRequestTypeDef,
    StorageOptimizerTypeDef,
    ListTransactionsRequestRequestTypeDef,
    TableObjectTypeDef,
    QueryPlanningContextTypeDef,
    RegisterResourceRequestRequestTypeDef,
    StartTransactionRequestRequestTypeDef,
    UpdateLFTagRequestRequestTypeDef,
    UpdateResourceRequestRequestTypeDef,
    UpdateTableStorageOptimizerRequestRequestTypeDef,
    ColumnLFTagTypeDef,
    AssumeDecoratedRoleWithSAMLResponseTypeDef,
    CommitTransactionResponseTypeDef,
    GetLFTagResponseTypeDef,
    GetQueryStateResponseTypeDef,
    GetTemporaryGluePartitionCredentialsResponseTypeDef,
    GetTemporaryGlueTableCredentialsResponseTypeDef,
    GetWorkUnitResultsResponseTypeDef,
    ListLFTagsResponseTypeDef,
    StartQueryPlanningResponseTypeDef,
    StartTransactionResponseTypeDef,
    UpdateTableStorageOptimizerResponseTypeDef,
    GetTemporaryGlueTableCredentialsRequestRequestTypeDef,
    LFTagErrorTypeDef,
    PrincipalPermissionsTypeDef,
    TableWithColumnsResourceTypeDef,
    DataCellsFilterTypeDef,
    TaggedDatabaseTypeDef,
    WriteOperationTypeDef,
    DeleteObjectsOnCancelRequestRequestTypeDef,
    DescribeResourceResponseTypeDef,
    ListResourcesResponseTypeDef,
    DescribeTransactionResponseTypeDef,
    ListTransactionsResponseTypeDef,
    ListResourcesRequestRequestTypeDef,
    GetQueryStatisticsResponseTypeDef,
    GetTemporaryGluePartitionCredentialsRequestRequestTypeDef,
    GetWorkUnitsRequestGetWorkUnitsPaginateTypeDef,
    ListLFTagsRequestListLFTagsPaginateTypeDef,
    GetWorkUnitsResponseTypeDef,
    LFTagPolicyResourceTypeDef,
    SearchDatabasesByLFTagsRequestRequestTypeDef,
    SearchDatabasesByLFTagsRequestSearchDatabasesByLFTagsPaginateTypeDef,
    SearchTablesByLFTagsRequestRequestTypeDef,
    SearchTablesByLFTagsRequestSearchTablesByLFTagsPaginateTypeDef,
    ListDataCellsFilterRequestListDataCellsFilterPaginateTypeDef,
    ListDataCellsFilterRequestRequestTypeDef,
    ListTableStorageOptimizersResponseTypeDef,
    PartitionObjectsTypeDef,
    StartQueryPlanningRequestRequestTypeDef,
    GetResourceLFTagsResponseTypeDef,
    TaggedTableTypeDef,
    AddLFTagsToResourceResponseTypeDef,
    RemoveLFTagsFromResourceResponseTypeDef,
    DataLakeSettingsTypeDef,
    CreateDataCellsFilterRequestRequestTypeDef,
    ListDataCellsFilterResponseTypeDef,
    SearchDatabasesByLFTagsResponseTypeDef,
    UpdateTableObjectsRequestRequestTypeDef,
    ResourceTypeDef,
    GetTableObjectsResponseTypeDef,
    SearchTablesByLFTagsResponseTypeDef,
    GetDataLakeSettingsResponseTypeDef,
    PutDataLakeSettingsRequestRequestTypeDef,
    AddLFTagsToResourceRequestRequestTypeDef,
    BatchPermissionsRequestEntryTypeDef,
    GetResourceLFTagsRequestRequestTypeDef,
    GrantPermissionsRequestRequestTypeDef,
    ListPermissionsRequestRequestTypeDef,
    PrincipalResourcePermissionsTypeDef,
    RemoveLFTagsFromResourceRequestRequestTypeDef,
    RevokePermissionsRequestRequestTypeDef,
    BatchGrantPermissionsRequestRequestTypeDef,
    BatchPermissionsFailureEntryTypeDef,
    BatchRevokePermissionsRequestRequestTypeDef,
    GetEffectivePermissionsForPathResponseTypeDef,
    ListPermissionsResponseTypeDef,
    BatchGrantPermissionsResponseTypeDef,
    BatchRevokePermissionsResponseTypeDef,
)


def get_structure() -> LFTagPairTypeDef:
    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-lakeformation版本与相关boto3版本相同,遵循PEP 440格式。

谢谢

文档

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

支持和贡献

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

项目详情