mypy-boto3-sns
Type annotations for boto3 SNS 1.35.68
compatible with VSCode,
PyCharm,
Emacs,
Sublime Text,
mypy,
pyright and other tools.
Generated by
mypy-boto3-builder 8.3.1.
More information can be found on
boto3-stubs page and in
mypy-boto3-sns docs.
See how it helps you find and fix potential bugs:
How to install
VSCode extension
Add
AWS Boto3
extension to your VSCode and run AWS boto3: Quick Start
command.
Click Modify
and select boto3 common
and SNS
.
From PyPI with pip
Install boto3-stubs
for SNS
service.
python -m pip install 'boto3-stubs[sns]'
python -m pip install 'boto3-stubs-lite[sns]'
python -m pip install mypy-boto3-sns
How to uninstall
python -m pip uninstall -y mypy-boto3-sns
Usage
VSCode
python -m pip install 'boto3-stubs[sns]'
Both type checking and code completion should now work. No explicit type
annotations required, write your boto3
code as usual.
PyCharm
⚠️ Due to slow PyCharm performance on Literal
overloads (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
PyCharm
type checker and use mypy or
pyright instead.
⚠️ To continue using PyCharm
type checker, you can try to replace
boto3-stubs
with
boto3-stubs-lite:
pip uninstall boto3-stubs
pip install boto3-stubs-lite
Install boto3-stubs[sns]
in your environment:
python -m pip install 'boto3-stubs[sns]'
Both type checking and code completion should now work.
Emacs
- Install
boto3-stubs
with services you use in your environment:
python -m pip install 'boto3-stubs[sns]'
(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.
Sublime Text
- Install
boto3-stubs[sns]
with services you use in your environment:
python -m pip install 'boto3-stubs[sns]'
Type checking should now work. No explicit type annotations required, write
your boto3
code as usual.
Other IDEs
Not tested, but as long as your IDE supports mypy
or pyright
, everything
should work.
mypy
- Install
mypy
: python -m pip install mypy
- Install
boto3-stubs[sns]
in your environment:
python -m pip install 'boto3-stubs[sns]'
Type checking should now work. No explicit type annotations required, write
your boto3
code as usual.
pyright
- Install
pyright
: npm i -g pyright
- Install
boto3-stubs[sns]
in your environment:
python -m pip install 'boto3-stubs[sns]'
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.
Explicit type annotations
Client annotations
SNSClient
provides annotations for boto3.client("sns")
.
from boto3.session import Session
from mypy_boto3_sns import SNSClient
client: SNSClient = Session().client("sns")
Paginators annotations
mypy_boto3_sns.paginator
module contains type annotations for all paginators.
from boto3.session import Session
from mypy_boto3_sns import SNSClient
from mypy_boto3_sns.paginator import (
ListEndpointsByPlatformApplicationPaginator,
ListOriginationNumbersPaginator,
ListPhoneNumbersOptedOutPaginator,
ListPlatformApplicationsPaginator,
ListSMSSandboxPhoneNumbersPaginator,
ListSubscriptionsByTopicPaginator,
ListSubscriptionsPaginator,
ListTopicsPaginator,
)
client: SNSClient = Session().client("sns")
list_endpoints_by_platform_application_paginator: ListEndpointsByPlatformApplicationPaginator = (
client.get_paginator("list_endpoints_by_platform_application")
)
list_origination_numbers_paginator: ListOriginationNumbersPaginator = client.get_paginator(
"list_origination_numbers"
)
list_phone_numbers_opted_out_paginator: ListPhoneNumbersOptedOutPaginator = client.get_paginator(
"list_phone_numbers_opted_out"
)
list_platform_applications_paginator: ListPlatformApplicationsPaginator = client.get_paginator(
"list_platform_applications"
)
list_sms_sandbox_phone_numbers_paginator: ListSMSSandboxPhoneNumbersPaginator = (
client.get_paginator("list_sms_sandbox_phone_numbers")
)
list_subscriptions_by_topic_paginator: ListSubscriptionsByTopicPaginator = client.get_paginator(
"list_subscriptions_by_topic"
)
list_subscriptions_paginator: ListSubscriptionsPaginator = client.get_paginator(
"list_subscriptions"
)
list_topics_paginator: ListTopicsPaginator = client.get_paginator("list_topics")
Service Resource annotations
SNSServiceResource
provides annotations for boto3.resource("sns")
.
from boto3.session import Session
from mypy_boto3_sns import SNSServiceResource
resource: SNSServiceResource = Session().resource("sns")
Other resources annotations
mypy_boto3_sns.service_resource
module contains type annotations for all
resources.
from boto3.session import Session
from mypy_boto3_sns import SNSServiceResource
from mypy_boto3_sns.service_resource import (
PlatformApplication,
PlatformEndpoint,
Subscription,
Topic,
)
resource: SNSServiceResource = Session().resource("sns")
my_platform_application: PlatformApplication = resource.PlatformApplication(...)
my_platform_endpoint: PlatformEndpoint = resource.PlatformEndpoint(...)
my_subscription: Subscription = resource.Subscription(...)
my_topic: Topic = resource.Topic(...)
Collections annotations
mypy_boto3_sns.service_resource
module contains type annotations for all
SNSServiceResource
collections.
from boto3.session import Session
from mypy_boto3_sns import SNSServiceResource
from mypy_boto3_sns.service_resource import (
ServiceResourcePlatformApplicationsCollection,
ServiceResourceSubscriptionsCollection,
ServiceResourceTopicsCollection,
)
resource: SNSServiceResource = Session().resource("sns")
platform_applications: sns_resources.ServiceResourcePlatformApplicationsCollection = (
resource.platform_applications
)
subscriptions: sns_resources.ServiceResourceSubscriptionsCollection = resource.subscriptions
topics: sns_resources.ServiceResourceTopicsCollection = resource.topics
Literals
mypy_boto3_sns.literals
module contains literals extracted from shapes that
can be used in user code for type checking.
Full list of SNS
Literals can be found in
docs.
from mypy_boto3_sns.literals import LanguageCodeStringType
def check_value(value: LanguageCodeStringType) -> bool: ...
Type definitions
mypy_boto3_sns.type_defs
module contains structures and shapes assembled to
typed dictionaries and unions for additional type checking.
Full list of SNS
TypeDefs can be found in
docs.
from mypy_boto3_sns.type_defs import AddPermissionInputRequestTypeDef
def get_value() -> AddPermissionInputRequestTypeDef:
return {...}
How it works
Fully automated
mypy-boto3-builder carefully
generates type annotations for each service, patiently waiting for boto3
updates. It delivers drop-in type annotations for you and makes sure that:
- All available
boto3
services are covered. - Each public class and method of every
boto3
service gets valid type
annotations extracted from botocore
schemas. - Type annotations include up-to-date documentation.
- Link to documentation is provided for every method.
- Code is processed by ruff for readability.
What's new
Implemented features
- Fully type annotated
boto3
, botocore
, aiobotocore
and aioboto3
libraries mypy
, pyright
, VSCode
, PyCharm
, Sublime Text
and Emacs
compatibilityClient
, ServiceResource
, Resource
, Waiter
Paginator
type
annotations for each service- Generated
TypeDefs
for each service - Generated
Literals
for each service - Auto discovery of types for
boto3.client
and boto3.resource
calls - Auto discovery of types for
session.client
and session.resource
calls - Auto discovery of types for
client.get_waiter
and client.get_paginator
calls - Auto discovery of types for
ServiceResource
and Resource
collections - Auto discovery of types for
aiobotocore.Session.create_client
calls
Latest changes
Builder changelog can be found in
Releases.
Versioning
mypy-boto3-sns
version is the same as related boto3
version and follows
PEP 440 format.
Thank you
Documentation
All services type annotations can be found in
boto3 docs
Support and contributing
This package is auto-generated. Please reports any bugs or request new features
in mypy-boto3-builder
repository.