mypy-boto3-route53
Type annotations for boto3 Route53 1.42.6 service generated with mypy-boto3-builder 8.12.0
Description
<a id="mypy-boto3-route53"></a>
mypy-boto3-route53

Type annotations for boto3 Route53 1.42.6 compatible with VSCode, PyCharm, Emacs, Sublime Text, mypy, pyright and other tools.
Generated with mypy-boto3-builder 8.12.0.
More information can be found on boto3-stubs page and in mypy-boto3-route53 docs.
See how it helps you find and fix potential bugs:

- mypy-boto3-route53
<a id="how-to-install"></a>
How to install
<a id="generate-locally-(recommended)"></a>
Generate locally (recommended)
You can generate type annotations for boto3 package locally with
mypy-boto3-builder. Use
uv for build
isolation.
- Run mypy-boto3-builder in your package root directory:
uvx --with 'boto3==1.42.6' mypy-boto3-builder - Select
boto3-stubsAWS SDK. - Add
Route53service. - Use provided commands to install generated packages.
<a id="vscode-extension"></a>
VSCode extension
Add
AWS Boto3
extension to your VSCode and run AWS boto3: Quick Start command.
Click Modify and select boto3 common and Route53.
<a id="from-pypi-with-pip"></a>
From PyPI with pip
Install boto3-stubs for Route53 service.
# install with boto3 type annotations
python -m pip install 'boto3-stubs[route53]'
# 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[route53]'
# standalone installation
python -m pip install mypy-boto3-route53
<a id="how-to-uninstall"></a>
How to uninstall
python -m pip uninstall -y mypy-boto3-route53
<a id="usage"></a>
Usage
<a id="vscode"></a>
VSCode
- Install Python extension
- Install Pylance extension
- Set
Pylanceas your Python Language Server - Install
boto3-stubs[route53]in your environment:
python -m pip install 'boto3-stubs[route53]'
Both type checking and code completion should now work. No explicit type
annotations required, write your boto3 code as usual.
<a id="pycharm"></a>
PyCharm
⚠️ Due to slow PyCharm performance on
Literaloverloads (issue PY-40997), it is recommended to use boto3-stubs-lite until the issue is resolved.
⚠️ If you experience slow performance and high CPU usage, try to disable
PyCharmtype checker and use mypy or pyright instead.
⚠️ To continue using
PyCharmtype checker, you can try to replaceboto3-stubswith boto3-stubs-lite:
pip uninstall boto3-stubs
pip install boto3-stubs-lite
Install boto3-stubs[route53] in your environment:
python -m pip install 'boto3-stubs[route53]'
Both type checking and code completion should now work.
<a id="emacs"></a>
Emacs
- Install
boto3-stubswith services you use in your environment:
python -m pip install 'boto3-stubs[route53]'
- Install use-package, lsp, company and flycheck packages
- Install lsp-pyright package
(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"))
)
- Make sure emacs uses the environment where you have installed
boto3-stubs
Type checking should now work. No explicit type annotations required, write
your boto3 code as usual.
<a id="sublime-text"></a>
Sublime Text
- Install
boto3-stubs[route53]with services you use in your environment:
python -m pip install 'boto3-stubs[route53]'
- Install LSP-pyright package
Type checking should now work. No explicit type annotations required, write
your boto3 code as usual.
<a id="other-ides"></a>
Other IDEs
Not tested, but as long as your IDE supports mypy or pyright, everything
should work.
<a id="mypy"></a>
mypy
- Install
mypy:python -m pip install mypy - Install
boto3-stubs[route53]in your environment:
python -m pip install 'boto3-stubs[route53]'
Type checking should now work. No explicit type annotations required, write
your boto3 code as usual.
<a id="pyright"></a>
pyright
- Install
pyright:npm i -g pyright - Install
boto3-stubs[route53]in your environment:
python -m pip install 'boto3-stubs[route53]'
Optionally, you can install boto3-stubs to typings directory.
Type checking should now work. No explicit type annotations required, write
your boto3 code as usual.
<a id="pylint-compatibility"></a>
Pylint compatibility
It is totally safe to use TYPE_CHECKING flag in order to avoid
mypy-boto3-route53 dependency in production. However, there is an issue in
pylint that it complains about undefined variables. To fix it, set all types
to object in non-TYPE_CHECKING mode.
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from mypy_boto3_ec2 import EC2Client, EC2ServiceResource
from mypy_boto3_ec2.waiters import BundleTaskCompleteWaiter
from mypy_boto3_ec2.paginators import DescribeVolumesPaginator
else:
EC2Client = object
EC2ServiceResource = object
BundleTaskCompleteWaiter = object
DescribeVolumesPaginator = object
...
<a id="explicit-type-annotations"></a>
Explicit type annotations
<a id="client-annotations"></a>
Client annotations
Route53Client provides annotations for boto3.client("route53").
from boto3.session import Session
from mypy_boto3_route53 import Route53Client
client: Route53Client = Session().client("route53")
# now client usage is checked by mypy and IDE should provide code completion
<a id="paginators-annotations"></a>
Paginators annotations
mypy_boto3_route53.paginator module contains type annotations for all
paginators.
from boto3.session import Session
from mypy_boto3_route53 import Route53Client
from mypy_boto3_route53.paginator import (
ListCidrBlocksPaginator,
ListCidrCollectionsPaginator,
ListCidrLocationsPaginator,
ListHealthChecksPaginator,
ListHostedZonesPaginator,
ListQueryLoggingConfigsPaginator,
ListResourceRecordSetsPaginator,
ListVPCAssociationAuthorizationsPaginator,
)
client: Route53Client = Session().client("route53")
# Explicit type annotations are optional here
# Types should be correctly discovered by mypy and IDEs
list_cidr_blocks_paginator: ListCidrBlocksPaginator = client.get_paginator("list_cidr_blocks")
list_cidr_collections_paginator: ListCidrCollectionsPaginator = client.get_paginator(
"list_cidr_collections"
)
list_cidr_locations_paginator: ListCidrLocationsPaginator = client.get_paginator(
"list_cidr_locations"
)
list_health_checks_paginator: ListHealthChecksPaginator = client.get_paginator("list_health_checks")
list_hosted_zones_paginator: ListHostedZonesPaginator = client.get_paginator("list_hosted_zones")
list_query_logging_configs_paginator: ListQueryLoggingConfigsPaginator = client.get_paginator(