Type annotations for boto3.SNS 1.14.7 service, generated by mypy-boto3-buider 2.2.0
Project description
mypy-boto3-sns
Type annotations for boto3.SNS 1.14.7 service compatible with mypy, VSCode, PyCharm and other tools.
Generated by mypy-boto3-buider 2.2.0.
More information can be found on boto3-stubs page.
How to install
Make sure you have mypy installed and activated in your IDE.
Install boto3-stubs
for SNS
service.
python -m pip install boto3-stubs[sns]
How to use
Client annotations
SNSClient
provides annotations for boto3.client("sns")
.
import boto3
from mypy_boto3_sns import SNSClient, SNSServiceResource
from mypy_boto3_sns.paginator import (
ListEndpointsByPlatformApplicationPaginator,
ListPhoneNumbersOptedOutPaginator,
ListPlatformApplicationsPaginator,
ListSubscriptionsByTopicPaginator,
ListSubscriptionsPaginator,
ListTopicsPaginator,
)
from mypy_boto3_sns.service_resource import (
PlatformApplication,
PlatformEndpoint,
ServiceResourcePlatformApplicationsCollection,
ServiceResourceSubscriptionsCollection,
ServiceResourceTopicsCollection,
Subscription,
Topic,
)
from mypy_boto3_sns.type_defs import EndpointTypeDef, ...
client: SNSClient = boto3.client("sns")
# now client usage is checked by mypy and IDE should provide code auto-complete
# works for session as well
session = boto3.session.Session(region="us-west-1")
session_client: SNSClient = session.client("sns")
Paginators annotations
mypy_boto3_sns.paginator
module contains type annotations for all paginators.
client: SNSClient = boto3.client("sns")
# Explicit type annotations are optional here
# Type should be correctly discovered by mypy and IDEs
# VSCode requires explicit type annotations
list_endpoints_by_platform_application_paginator: ListEndpointsByPlatformApplicationPaginator = client.get_paginator("list_endpoints_by_platform_application")
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_subscriptions_paginator: ListSubscriptionsPaginator = client.get_paginator("list_subscriptions")
list_subscriptions_by_topic_paginator: ListSubscriptionsByTopicPaginator = client.get_paginator("list_subscriptions_by_topic")
list_topics_paginator: ListTopicsPaginator = client.get_paginator("list_topics")
Service Resource annotations
SNSServiceResource
provides annotations for boto3.resource("sns")
.
resource: SNSServiceResource = boto3.resource("sns")
# now resource usage is checked by mypy and IDE should provide code auto-complete
# works for session as well
session = boto3.session.Session(region="us-west-1")
session_resource: SNSServiceResource = session.resource("sns")
Other resources annotations
mypy_boto3_sns.service_resource
module contains type annotations for all resources.
resource: SNSServiceResource = boto3.resource("sns")
# Explicit type annotations are optional here
# Type should be correctly discovered by mypy and IDEs
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.
resource: SNSServiceResource = boto3.resource("sns")
# Explicit type annotations are optional here
# Type should be correctly discovered by mypy and IDEs
platform_applications: sns_resources.ServiceResourcePlatformApplicationsCollection = resource.platform_applications
subscriptions: sns_resources.ServiceResourceSubscriptionsCollection = resource.subscriptions
topics: sns_resources.ServiceResourceTopicsCollection = resource.topics
Typed dictionations
mypy_boto3_sns.type_defs
module contains structures and shapes assembled
to typed dictionaries for additional type checking.
def get_structure() -> EndpointTypeDef:
return {
...
}
Dynamic type annotations
mypy_boto3
command generates boto3.client/resource
type annotations for
mypy_boto3_sns
and other installed services.
# Run this command after you add or remove service packages
python -m mypy_boto3
Generated type annotations provide overloads for boto3.client
and boto3.resource
,
boto3.Session.client
and boto3.Session.resource
functions,
so explicit type annotations are not needed.
mypy
supports function overloads as expectedPyCharm
also supports function overloads, but consumes a lot of RAM, use carefully if you have many services installedVSCode
does not currently support function overloads, use explicit type annotations
# Type is discovered correctly by mypy and PyCharm
# VSCode still needs explicit type annotations
client = boto3.client("sns")
resource = boto3.resource("sns")
session_client = boto3.Session().client("sns")
session_resource = boto3.Session().resource("sns")
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for mypy_boto3_sns-1.14.7.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e92ba3fefc7bb9b2b82866217e37c73fee994bc3f162fe5ae7f3f9525247c11b |
|
MD5 | 9db057408e8630ea107617de15ddbf4e |
|
BLAKE2b-256 | 2dde0744ca0fbb6abfeb4009e65f360fa4d15809d0eb8b526eae377a08de841a |