%global _empty_manifest_terminate_build 0
Name: python-mypy-boto3-sns
Version: 1.26.69
Release: 1
Summary: Type annotations for boto3.SNS 1.26.69 service generated with mypy-boto3-builder 7.12.3
License: MIT License
URL: https://github.com/youtype/mypy_boto3_builder
Source0: https://mirrors.nju.edu.cn/pypi/web/packages/c3/83/09b3b6f25505178b5ea4f5ab67e4ce08975ea0316346a919752d8dcb8db5/mypy-boto3-sns-1.26.69.tar.gz
BuildArch: noarch
Requires: python3-typing-extensions
%description
# mypy-boto3-sns
[![PyPI - mypy-boto3-sns](https://img.shields.io/pypi/v/mypy-boto3-sns.svg?color=blue)](https://pypi.org/project/mypy-boto3-sns)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/mypy-boto3-sns.svg?color=blue)](https://pypi.org/project/mypy-boto3-sns)
[![Docs](https://img.shields.io/readthedocs/mypy-boto3-builder.svg?color=blue)](https://mypy-boto3-builder.readthedocs.io/)
[![PyPI - Downloads](https://img.shields.io/pypi/dm/mypy-boto3-sns?color=blue)](https://pypistats.org/packages/mypy-boto3-sns)
![boto3.typed](https://github.com/youtype/mypy_boto3_builder/raw/main/logo.png)
Type annotations for
[boto3.SNS 1.26.69](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sns.html#SNS)
service compatible with [VSCode](https://code.visualstudio.com/),
[PyCharm](https://www.jetbrains.com/pycharm/),
[Emacs](https://www.gnu.org/software/emacs/),
[Sublime Text](https://www.sublimetext.com/),
[mypy](https://github.com/python/mypy),
[pyright](https://github.com/microsoft/pyright) and other tools.
Generated by
[mypy-boto3-builder 7.12.3](https://github.com/youtype/mypy_boto3_builder).
More information can be found on
[boto3-stubs](https://pypi.org/project/boto3-stubs/) page and in
[mypy-boto3-sns docs](https://youtype.github.io/boto3_stubs_docs/mypy_boto3_sns/).
See how it helps to find and fix potential bugs:
![boto3-stubs demo](https://github.com/youtype/mypy_boto3_builder/raw/main/demo.gif)
- [mypy-boto3-sns](#mypy-boto3-sns)
- [How to install](#how-to-install)
- [VSCode extension](#vscode-extension)
- [From PyPI with pip](#from-pypi-with-pip)
- [How to uninstall](#how-to-uninstall)
- [Usage](#usage)
- [VSCode](#vscode)
- [PyCharm](#pycharm)
- [Emacs](#emacs)
- [Sublime Text](#sublime-text)
- [Other IDEs](#other-ides)
- [mypy](#mypy)
- [pyright](#pyright)
- [Explicit type annotations](#explicit-type-annotations)
- [Client annotations](#client-annotations)
- [Paginators annotations](#paginators-annotations)
- [Service Resource annotations](#service-resource-annotations)
- [Other resources annotations](#other-resources-annotations)
- [Collections annotations](#collections-annotations)
- [Literals](#literals)
- [Typed dictionaries](#typed-dictionaries)
- [How it works](#how-it-works)
- [What's new](#what's-new)
- [Implemented features](#implemented-features)
- [Latest changes](#latest-changes)
- [Versioning](#versioning)
- [Thank you](#thank-you)
- [Documentation](#documentation)
- [Support and contributing](#support-and-contributing)
## How to install
### VSCode extension
Add
[AWS Boto3](https://marketplace.visualstudio.com/items?itemName=Boto3typed.boto3-ide)
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.
```bash
# install with boto3 type annotations
python -m pip install 'boto3-stubs[sns]'
# 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[sns]'
# standalone installation
python -m pip install mypy-boto3-sns
```
## How to uninstall
```bash
python -m pip uninstall -y mypy-boto3-sns
```
## Usage
### VSCode
- Install
[Python extension](https://marketplace.visualstudio.com/items?itemName=ms-python.python)
- Install
[Pylance extension](https://marketplace.visualstudio.com/items?itemName=ms-python.vscode-pylance)
- Set `Pylance` as your Python Language Server
- Install `boto3-stubs[sns]` in your environment:
```bash
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
Install `boto3-stubs-lite[sns]` in your environment:
```bash
python -m pip install 'boto3-stubs-lite[sns]'`
```
Both type checking and code completion should now work. Explicit type
annotations **are required**.
Use `boto3-stubs` package instead for implicit type discovery.
### Emacs
- Install `boto3-stubs` with services you use in your environment:
```bash
python -m pip install 'boto3-stubs[sns]'
```
- Install [use-package](https://github.com/jwiegley/use-package),
[lsp](https://github.com/emacs-lsp/lsp-mode/),
[company](https://github.com/company-mode/company-mode) and
[flycheck](https://github.com/flycheck/flycheck) packages
- Install [lsp-pyright](https://github.com/emacs-lsp/lsp-pyright) package
```elisp
(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:
```bash
python -m pip install 'boto3-stubs[sns]'
```
- Install [LSP-pyright](https://github.com/sublimelsp/LSP-pyright) package
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:
```bash
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:
```bash
python -m pip install 'boto3-stubs[sns]'
```
Optionally, you can install `boto3-stubs` to `typings` folder.
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")`.
```python
from boto3.session import Session
from mypy_boto3_sns import SNSClient
client: SNSClient = Session().client("sns")
# now client usage is checked by mypy and IDE should provide code completion
```
### Paginators annotations
`mypy_boto3_sns.paginator` module contains type annotations for all paginators.
```python
from boto3.session import Session
from mypy_boto3_sns import SNSClient
from mypy_boto3_sns.paginator import (
ListEndpointsByPlatformApplicationPaginator,
ListOriginationNumbersPaginator,
ListPhoneNumbersOptedOutPaginator,
ListPlatformApplicationsPaginator,
ListSMSSandboxPhoneNumbersPaginator,
ListSubscriptionsPaginator,
ListSubscriptionsByTopicPaginator,
ListTopicsPaginator,
)
client: SNSClient = Session().client("sns")
# Explicit type annotations are optional here
# Types should be correctly discovered by mypy and IDEs
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_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")`.
```python
from boto3.session import Session
from mypy_boto3_sns import SNSServiceResource
resource: SNSServiceResource = Session().resource("sns")
# now resource usage is checked by mypy and IDE should provide code completion
```
### Other resources annotations
`mypy_boto3_sns.service_resource` module contains type annotations for all
resources.
```python
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")
# 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.
```python
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")
# 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
```
### Literals
`mypy_boto3_sns.literals` module contains literals extracted from shapes that
can be used in user code for type checking.
```python
from mypy_boto3_sns.literals import (
LanguageCodeStringType,
ListEndpointsByPlatformApplicationPaginatorName,
ListOriginationNumbersPaginatorName,
ListPhoneNumbersOptedOutPaginatorName,
ListPlatformApplicationsPaginatorName,
ListSMSSandboxPhoneNumbersPaginatorName,
ListSubscriptionsByTopicPaginatorName,
ListSubscriptionsPaginatorName,
ListTopicsPaginatorName,
NumberCapabilityType,
RouteTypeType,
SMSSandboxPhoneNumberVerificationStatusType,
SNSServiceName,
ServiceName,
ResourceServiceName,
PaginatorName,
RegionName,
)
def check_value(value: LanguageCodeStringType) -> bool:
...
```
### Typed dictionaries
`mypy_boto3_sns.type_defs` module contains structures and shapes assembled to
typed dictionaries for additional type checking.
```python
from mypy_boto3_sns.type_defs import (
AddPermissionInputRequestTypeDef,
AddPermissionInputTopicAddPermissionTypeDef,
BatchResultErrorEntryTypeDef,
CheckIfPhoneNumberIsOptedOutInputRequestTypeDef,
ResponseMetadataTypeDef,
ConfirmSubscriptionInputRequestTypeDef,
ConfirmSubscriptionInputTopicConfirmSubscriptionTypeDef,
CreatePlatformApplicationInputRequestTypeDef,
CreatePlatformApplicationInputServiceResourceCreatePlatformApplicationTypeDef,
CreatePlatformEndpointInputPlatformApplicationCreatePlatformEndpointTypeDef,
CreatePlatformEndpointInputRequestTypeDef,
CreateSMSSandboxPhoneNumberInputRequestTypeDef,
TagTypeDef,
DeleteEndpointInputRequestTypeDef,
DeletePlatformApplicationInputRequestTypeDef,
DeleteSMSSandboxPhoneNumberInputRequestTypeDef,
DeleteTopicInputRequestTypeDef,
EndpointTypeDef,
GetDataProtectionPolicyInputRequestTypeDef,
GetEndpointAttributesInputRequestTypeDef,
GetPlatformApplicationAttributesInputRequestTypeDef,
GetSMSAttributesInputRequestTypeDef,
GetSubscriptionAttributesInputRequestTypeDef,
GetTopicAttributesInputRequestTypeDef,
PaginatorConfigTypeDef,
ListEndpointsByPlatformApplicationInputRequestTypeDef,
ListOriginationNumbersRequestRequestTypeDef,
PhoneNumberInformationTypeDef,
ListPhoneNumbersOptedOutInputRequestTypeDef,
ListPlatformApplicationsInputRequestTypeDef,
PlatformApplicationTypeDef,
ListSMSSandboxPhoneNumbersInputRequestTypeDef,
SMSSandboxPhoneNumberTypeDef,
ListSubscriptionsByTopicInputRequestTypeDef,
SubscriptionTypeDef,
ListSubscriptionsInputRequestTypeDef,
ListTagsForResourceRequestRequestTypeDef,
ListTopicsInputRequestTypeDef,
TopicTypeDef,
MessageAttributeValueTypeDef,
OptInPhoneNumberInputRequestTypeDef,
PublishBatchResultEntryTypeDef,
PutDataProtectionPolicyInputRequestTypeDef,
RemovePermissionInputRequestTypeDef,
RemovePermissionInputTopicRemovePermissionTypeDef,
ServiceResourcePlatformApplicationRequestTypeDef,
ServiceResourcePlatformEndpointRequestTypeDef,
ServiceResourceSubscriptionRequestTypeDef,
ServiceResourceTopicRequestTypeDef,
SetEndpointAttributesInputPlatformEndpointSetAttributesTypeDef,
SetEndpointAttributesInputRequestTypeDef,
SetPlatformApplicationAttributesInputPlatformApplicationSetAttributesTypeDef,
SetPlatformApplicationAttributesInputRequestTypeDef,
SetSMSAttributesInputRequestTypeDef,
SetSubscriptionAttributesInputRequestTypeDef,
SetSubscriptionAttributesInputSubscriptionSetAttributesTypeDef,
SetTopicAttributesInputRequestTypeDef,
SetTopicAttributesInputTopicSetAttributesTypeDef,
SubscribeInputRequestTypeDef,
SubscribeInputTopicSubscribeTypeDef,
UnsubscribeInputRequestTypeDef,
UntagResourceRequestRequestTypeDef,
VerifySMSSandboxPhoneNumberInputRequestTypeDef,
CheckIfPhoneNumberIsOptedOutResponseTypeDef,
ConfirmSubscriptionResponseTypeDef,
CreateEndpointResponseTypeDef,
CreatePlatformApplicationResponseTypeDef,
CreateTopicResponseTypeDef,
EmptyResponseMetadataTypeDef,
GetDataProtectionPolicyResponseTypeDef,
GetEndpointAttributesResponseTypeDef,
GetPlatformApplicationAttributesResponseTypeDef,
GetSMSAttributesResponseTypeDef,
GetSMSSandboxAccountStatusResultTypeDef,
GetSubscriptionAttributesResponseTypeDef,
GetTopicAttributesResponseTypeDef,
ListPhoneNumbersOptedOutResponseTypeDef,
PublishResponseTypeDef,
SubscribeResponseTypeDef,
CreateTopicInputRequestTypeDef,
CreateTopicInputServiceResourceCreateTopicTypeDef,
ListTagsForResourceResponseTypeDef,
TagResourceRequestRequestTypeDef,
ListEndpointsByPlatformApplicationResponseTypeDef,
ListEndpointsByPlatformApplicationInputListEndpointsByPlatformApplicationPaginateTypeDef,
ListOriginationNumbersRequestListOriginationNumbersPaginateTypeDef,
ListPhoneNumbersOptedOutInputListPhoneNumbersOptedOutPaginateTypeDef,
ListPlatformApplicationsInputListPlatformApplicationsPaginateTypeDef,
ListSMSSandboxPhoneNumbersInputListSMSSandboxPhoneNumbersPaginateTypeDef,
ListSubscriptionsByTopicInputListSubscriptionsByTopicPaginateTypeDef,
ListSubscriptionsInputListSubscriptionsPaginateTypeDef,
ListTopicsInputListTopicsPaginateTypeDef,
ListOriginationNumbersResultTypeDef,
ListPlatformApplicationsResponseTypeDef,
ListSMSSandboxPhoneNumbersResultTypeDef,
ListSubscriptionsByTopicResponseTypeDef,
ListSubscriptionsResponseTypeDef,
ListTopicsResponseTypeDef,
PublishBatchRequestEntryTypeDef,
PublishInputPlatformEndpointPublishTypeDef,
PublishInputRequestTypeDef,
PublishInputTopicPublishTypeDef,
PublishBatchResponseTypeDef,
PublishBatchInputRequestTypeDef,
)
def get_structure() -> AddPermissionInputRequestTypeDef:
return {...}
```
## How it works
Fully automated
[mypy-boto3-builder](https://github.com/youtype/mypy_boto3_builder) carefully
generates type annotations for each service, patiently waiting for `boto3`
updates. It delivers a 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 the documentation (blame `botocore` docs if types
are incorrect).
- Type annotations include up-to-date documentation.
- Link to documentation is provided for every method.
- Code is processed by [black](https://github.com/psf/black) and
[isort](https://github.com/PyCQA/isort) for readability.
## What's new
### Implemented features
- Fully type annotated `boto3`, `botocore` and `aiobotocore` libraries
- `mypy`, `pyright`, `VSCode`, `PyCharm`, `Sublime Text` and `Emacs`
compatibility
- `Client`, `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.session` calls
- Auto discovery of types for `session.client` and `session.session` 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](https://github.com/youtype/mypy_boto3_builder/releases).
## Versioning
`mypy-boto3-sns` version is the same as related `boto3` version and follows
[PEP 440](https://www.python.org/dev/peps/pep-0440/) format.
## Thank you
- [Allie Fitter](https://github.com/alliefitter) for
[boto3-type-annotations](https://pypi.org/project/boto3-type-annotations/),
this package is based on top of his work
- [black](https://github.com/psf/black) developers for an awesome formatting
tool
- [Timothy Edmund Crosley](https://github.com/timothycrosley) for
[isort](https://github.com/PyCQA/isort) and how flexible it is
- [mypy](https://github.com/python/mypy) developers for doing all dirty work
for us
- [pyright](https://github.com/microsoft/pyright) team for the new era of typed
Python
## Documentation
All services type annotations can be found in
[boto3 docs](https://youtype.github.io/boto3_stubs_docs/mypy_boto3_sns/)
## Support and contributing
This package is auto-generated. Please reports any bugs or request new features
in [mypy-boto3-builder](https://github.com/youtype/mypy_boto3_builder/issues/)
repository.
%package -n python3-mypy-boto3-sns
Summary: Type annotations for boto3.SNS 1.26.69 service generated with mypy-boto3-builder 7.12.3
Provides: python-mypy-boto3-sns
BuildRequires: python3-devel
BuildRequires: python3-setuptools
BuildRequires: python3-pip
%description -n python3-mypy-boto3-sns
# mypy-boto3-sns
[![PyPI - mypy-boto3-sns](https://img.shields.io/pypi/v/mypy-boto3-sns.svg?color=blue)](https://pypi.org/project/mypy-boto3-sns)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/mypy-boto3-sns.svg?color=blue)](https://pypi.org/project/mypy-boto3-sns)
[![Docs](https://img.shields.io/readthedocs/mypy-boto3-builder.svg?color=blue)](https://mypy-boto3-builder.readthedocs.io/)
[![PyPI - Downloads](https://img.shields.io/pypi/dm/mypy-boto3-sns?color=blue)](https://pypistats.org/packages/mypy-boto3-sns)
![boto3.typed](https://github.com/youtype/mypy_boto3_builder/raw/main/logo.png)
Type annotations for
[boto3.SNS 1.26.69](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sns.html#SNS)
service compatible with [VSCode](https://code.visualstudio.com/),
[PyCharm](https://www.jetbrains.com/pycharm/),
[Emacs](https://www.gnu.org/software/emacs/),
[Sublime Text](https://www.sublimetext.com/),
[mypy](https://github.com/python/mypy),
[pyright](https://github.com/microsoft/pyright) and other tools.
Generated by
[mypy-boto3-builder 7.12.3](https://github.com/youtype/mypy_boto3_builder).
More information can be found on
[boto3-stubs](https://pypi.org/project/boto3-stubs/) page and in
[mypy-boto3-sns docs](https://youtype.github.io/boto3_stubs_docs/mypy_boto3_sns/).
See how it helps to find and fix potential bugs:
![boto3-stubs demo](https://github.com/youtype/mypy_boto3_builder/raw/main/demo.gif)
- [mypy-boto3-sns](#mypy-boto3-sns)
- [How to install](#how-to-install)
- [VSCode extension](#vscode-extension)
- [From PyPI with pip](#from-pypi-with-pip)
- [How to uninstall](#how-to-uninstall)
- [Usage](#usage)
- [VSCode](#vscode)
- [PyCharm](#pycharm)
- [Emacs](#emacs)
- [Sublime Text](#sublime-text)
- [Other IDEs](#other-ides)
- [mypy](#mypy)
- [pyright](#pyright)
- [Explicit type annotations](#explicit-type-annotations)
- [Client annotations](#client-annotations)
- [Paginators annotations](#paginators-annotations)
- [Service Resource annotations](#service-resource-annotations)
- [Other resources annotations](#other-resources-annotations)
- [Collections annotations](#collections-annotations)
- [Literals](#literals)
- [Typed dictionaries](#typed-dictionaries)
- [How it works](#how-it-works)
- [What's new](#what's-new)
- [Implemented features](#implemented-features)
- [Latest changes](#latest-changes)
- [Versioning](#versioning)
- [Thank you](#thank-you)
- [Documentation](#documentation)
- [Support and contributing](#support-and-contributing)
## How to install
### VSCode extension
Add
[AWS Boto3](https://marketplace.visualstudio.com/items?itemName=Boto3typed.boto3-ide)
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.
```bash
# install with boto3 type annotations
python -m pip install 'boto3-stubs[sns]'
# 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[sns]'
# standalone installation
python -m pip install mypy-boto3-sns
```
## How to uninstall
```bash
python -m pip uninstall -y mypy-boto3-sns
```
## Usage
### VSCode
- Install
[Python extension](https://marketplace.visualstudio.com/items?itemName=ms-python.python)
- Install
[Pylance extension](https://marketplace.visualstudio.com/items?itemName=ms-python.vscode-pylance)
- Set `Pylance` as your Python Language Server
- Install `boto3-stubs[sns]` in your environment:
```bash
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
Install `boto3-stubs-lite[sns]` in your environment:
```bash
python -m pip install 'boto3-stubs-lite[sns]'`
```
Both type checking and code completion should now work. Explicit type
annotations **are required**.
Use `boto3-stubs` package instead for implicit type discovery.
### Emacs
- Install `boto3-stubs` with services you use in your environment:
```bash
python -m pip install 'boto3-stubs[sns]'
```
- Install [use-package](https://github.com/jwiegley/use-package),
[lsp](https://github.com/emacs-lsp/lsp-mode/),
[company](https://github.com/company-mode/company-mode) and
[flycheck](https://github.com/flycheck/flycheck) packages
- Install [lsp-pyright](https://github.com/emacs-lsp/lsp-pyright) package
```elisp
(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:
```bash
python -m pip install 'boto3-stubs[sns]'
```
- Install [LSP-pyright](https://github.com/sublimelsp/LSP-pyright) package
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:
```bash
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:
```bash
python -m pip install 'boto3-stubs[sns]'
```
Optionally, you can install `boto3-stubs` to `typings` folder.
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")`.
```python
from boto3.session import Session
from mypy_boto3_sns import SNSClient
client: SNSClient = Session().client("sns")
# now client usage is checked by mypy and IDE should provide code completion
```
### Paginators annotations
`mypy_boto3_sns.paginator` module contains type annotations for all paginators.
```python
from boto3.session import Session
from mypy_boto3_sns import SNSClient
from mypy_boto3_sns.paginator import (
ListEndpointsByPlatformApplicationPaginator,
ListOriginationNumbersPaginator,
ListPhoneNumbersOptedOutPaginator,
ListPlatformApplicationsPaginator,
ListSMSSandboxPhoneNumbersPaginator,
ListSubscriptionsPaginator,
ListSubscriptionsByTopicPaginator,
ListTopicsPaginator,
)
client: SNSClient = Session().client("sns")
# Explicit type annotations are optional here
# Types should be correctly discovered by mypy and IDEs
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_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")`.
```python
from boto3.session import Session
from mypy_boto3_sns import SNSServiceResource
resource: SNSServiceResource = Session().resource("sns")
# now resource usage is checked by mypy and IDE should provide code completion
```
### Other resources annotations
`mypy_boto3_sns.service_resource` module contains type annotations for all
resources.
```python
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")
# 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.
```python
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")
# 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
```
### Literals
`mypy_boto3_sns.literals` module contains literals extracted from shapes that
can be used in user code for type checking.
```python
from mypy_boto3_sns.literals import (
LanguageCodeStringType,
ListEndpointsByPlatformApplicationPaginatorName,
ListOriginationNumbersPaginatorName,
ListPhoneNumbersOptedOutPaginatorName,
ListPlatformApplicationsPaginatorName,
ListSMSSandboxPhoneNumbersPaginatorName,
ListSubscriptionsByTopicPaginatorName,
ListSubscriptionsPaginatorName,
ListTopicsPaginatorName,
NumberCapabilityType,
RouteTypeType,
SMSSandboxPhoneNumberVerificationStatusType,
SNSServiceName,
ServiceName,
ResourceServiceName,
PaginatorName,
RegionName,
)
def check_value(value: LanguageCodeStringType) -> bool:
...
```
### Typed dictionaries
`mypy_boto3_sns.type_defs` module contains structures and shapes assembled to
typed dictionaries for additional type checking.
```python
from mypy_boto3_sns.type_defs import (
AddPermissionInputRequestTypeDef,
AddPermissionInputTopicAddPermissionTypeDef,
BatchResultErrorEntryTypeDef,
CheckIfPhoneNumberIsOptedOutInputRequestTypeDef,
ResponseMetadataTypeDef,
ConfirmSubscriptionInputRequestTypeDef,
ConfirmSubscriptionInputTopicConfirmSubscriptionTypeDef,
CreatePlatformApplicationInputRequestTypeDef,
CreatePlatformApplicationInputServiceResourceCreatePlatformApplicationTypeDef,
CreatePlatformEndpointInputPlatformApplicationCreatePlatformEndpointTypeDef,
CreatePlatformEndpointInputRequestTypeDef,
CreateSMSSandboxPhoneNumberInputRequestTypeDef,
TagTypeDef,
DeleteEndpointInputRequestTypeDef,
DeletePlatformApplicationInputRequestTypeDef,
DeleteSMSSandboxPhoneNumberInputRequestTypeDef,
DeleteTopicInputRequestTypeDef,
EndpointTypeDef,
GetDataProtectionPolicyInputRequestTypeDef,
GetEndpointAttributesInputRequestTypeDef,
GetPlatformApplicationAttributesInputRequestTypeDef,
GetSMSAttributesInputRequestTypeDef,
GetSubscriptionAttributesInputRequestTypeDef,
GetTopicAttributesInputRequestTypeDef,
PaginatorConfigTypeDef,
ListEndpointsByPlatformApplicationInputRequestTypeDef,
ListOriginationNumbersRequestRequestTypeDef,
PhoneNumberInformationTypeDef,
ListPhoneNumbersOptedOutInputRequestTypeDef,
ListPlatformApplicationsInputRequestTypeDef,
PlatformApplicationTypeDef,
ListSMSSandboxPhoneNumbersInputRequestTypeDef,
SMSSandboxPhoneNumberTypeDef,
ListSubscriptionsByTopicInputRequestTypeDef,
SubscriptionTypeDef,
ListSubscriptionsInputRequestTypeDef,
ListTagsForResourceRequestRequestTypeDef,
ListTopicsInputRequestTypeDef,
TopicTypeDef,
MessageAttributeValueTypeDef,
OptInPhoneNumberInputRequestTypeDef,
PublishBatchResultEntryTypeDef,
PutDataProtectionPolicyInputRequestTypeDef,
RemovePermissionInputRequestTypeDef,
RemovePermissionInputTopicRemovePermissionTypeDef,
ServiceResourcePlatformApplicationRequestTypeDef,
ServiceResourcePlatformEndpointRequestTypeDef,
ServiceResourceSubscriptionRequestTypeDef,
ServiceResourceTopicRequestTypeDef,
SetEndpointAttributesInputPlatformEndpointSetAttributesTypeDef,
SetEndpointAttributesInputRequestTypeDef,
SetPlatformApplicationAttributesInputPlatformApplicationSetAttributesTypeDef,
SetPlatformApplicationAttributesInputRequestTypeDef,
SetSMSAttributesInputRequestTypeDef,
SetSubscriptionAttributesInputRequestTypeDef,
SetSubscriptionAttributesInputSubscriptionSetAttributesTypeDef,
SetTopicAttributesInputRequestTypeDef,
SetTopicAttributesInputTopicSetAttributesTypeDef,
SubscribeInputRequestTypeDef,
SubscribeInputTopicSubscribeTypeDef,
UnsubscribeInputRequestTypeDef,
UntagResourceRequestRequestTypeDef,
VerifySMSSandboxPhoneNumberInputRequestTypeDef,
CheckIfPhoneNumberIsOptedOutResponseTypeDef,
ConfirmSubscriptionResponseTypeDef,
CreateEndpointResponseTypeDef,
CreatePlatformApplicationResponseTypeDef,
CreateTopicResponseTypeDef,
EmptyResponseMetadataTypeDef,
GetDataProtectionPolicyResponseTypeDef,
GetEndpointAttributesResponseTypeDef,
GetPlatformApplicationAttributesResponseTypeDef,
GetSMSAttributesResponseTypeDef,
GetSMSSandboxAccountStatusResultTypeDef,
GetSubscriptionAttributesResponseTypeDef,
GetTopicAttributesResponseTypeDef,
ListPhoneNumbersOptedOutResponseTypeDef,
PublishResponseTypeDef,
SubscribeResponseTypeDef,
CreateTopicInputRequestTypeDef,
CreateTopicInputServiceResourceCreateTopicTypeDef,
ListTagsForResourceResponseTypeDef,
TagResourceRequestRequestTypeDef,
ListEndpointsByPlatformApplicationResponseTypeDef,
ListEndpointsByPlatformApplicationInputListEndpointsByPlatformApplicationPaginateTypeDef,
ListOriginationNumbersRequestListOriginationNumbersPaginateTypeDef,
ListPhoneNumbersOptedOutInputListPhoneNumbersOptedOutPaginateTypeDef,
ListPlatformApplicationsInputListPlatformApplicationsPaginateTypeDef,
ListSMSSandboxPhoneNumbersInputListSMSSandboxPhoneNumbersPaginateTypeDef,
ListSubscriptionsByTopicInputListSubscriptionsByTopicPaginateTypeDef,
ListSubscriptionsInputListSubscriptionsPaginateTypeDef,
ListTopicsInputListTopicsPaginateTypeDef,
ListOriginationNumbersResultTypeDef,
ListPlatformApplicationsResponseTypeDef,
ListSMSSandboxPhoneNumbersResultTypeDef,
ListSubscriptionsByTopicResponseTypeDef,
ListSubscriptionsResponseTypeDef,
ListTopicsResponseTypeDef,
PublishBatchRequestEntryTypeDef,
PublishInputPlatformEndpointPublishTypeDef,
PublishInputRequestTypeDef,
PublishInputTopicPublishTypeDef,
PublishBatchResponseTypeDef,
PublishBatchInputRequestTypeDef,
)
def get_structure() -> AddPermissionInputRequestTypeDef:
return {...}
```
## How it works
Fully automated
[mypy-boto3-builder](https://github.com/youtype/mypy_boto3_builder) carefully
generates type annotations for each service, patiently waiting for `boto3`
updates. It delivers a 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 the documentation (blame `botocore` docs if types
are incorrect).
- Type annotations include up-to-date documentation.
- Link to documentation is provided for every method.
- Code is processed by [black](https://github.com/psf/black) and
[isort](https://github.com/PyCQA/isort) for readability.
## What's new
### Implemented features
- Fully type annotated `boto3`, `botocore` and `aiobotocore` libraries
- `mypy`, `pyright`, `VSCode`, `PyCharm`, `Sublime Text` and `Emacs`
compatibility
- `Client`, `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.session` calls
- Auto discovery of types for `session.client` and `session.session` 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](https://github.com/youtype/mypy_boto3_builder/releases).
## Versioning
`mypy-boto3-sns` version is the same as related `boto3` version and follows
[PEP 440](https://www.python.org/dev/peps/pep-0440/) format.
## Thank you
- [Allie Fitter](https://github.com/alliefitter) for
[boto3-type-annotations](https://pypi.org/project/boto3-type-annotations/),
this package is based on top of his work
- [black](https://github.com/psf/black) developers for an awesome formatting
tool
- [Timothy Edmund Crosley](https://github.com/timothycrosley) for
[isort](https://github.com/PyCQA/isort) and how flexible it is
- [mypy](https://github.com/python/mypy) developers for doing all dirty work
for us
- [pyright](https://github.com/microsoft/pyright) team for the new era of typed
Python
## Documentation
All services type annotations can be found in
[boto3 docs](https://youtype.github.io/boto3_stubs_docs/mypy_boto3_sns/)
## Support and contributing
This package is auto-generated. Please reports any bugs or request new features
in [mypy-boto3-builder](https://github.com/youtype/mypy_boto3_builder/issues/)
repository.
%package help
Summary: Development documents and examples for mypy-boto3-sns
Provides: python3-mypy-boto3-sns-doc
%description help
# mypy-boto3-sns
[![PyPI - mypy-boto3-sns](https://img.shields.io/pypi/v/mypy-boto3-sns.svg?color=blue)](https://pypi.org/project/mypy-boto3-sns)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/mypy-boto3-sns.svg?color=blue)](https://pypi.org/project/mypy-boto3-sns)
[![Docs](https://img.shields.io/readthedocs/mypy-boto3-builder.svg?color=blue)](https://mypy-boto3-builder.readthedocs.io/)
[![PyPI - Downloads](https://img.shields.io/pypi/dm/mypy-boto3-sns?color=blue)](https://pypistats.org/packages/mypy-boto3-sns)
![boto3.typed](https://github.com/youtype/mypy_boto3_builder/raw/main/logo.png)
Type annotations for
[boto3.SNS 1.26.69](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sns.html#SNS)
service compatible with [VSCode](https://code.visualstudio.com/),
[PyCharm](https://www.jetbrains.com/pycharm/),
[Emacs](https://www.gnu.org/software/emacs/),
[Sublime Text](https://www.sublimetext.com/),
[mypy](https://github.com/python/mypy),
[pyright](https://github.com/microsoft/pyright) and other tools.
Generated by
[mypy-boto3-builder 7.12.3](https://github.com/youtype/mypy_boto3_builder).
More information can be found on
[boto3-stubs](https://pypi.org/project/boto3-stubs/) page and in
[mypy-boto3-sns docs](https://youtype.github.io/boto3_stubs_docs/mypy_boto3_sns/).
See how it helps to find and fix potential bugs:
![boto3-stubs demo](https://github.com/youtype/mypy_boto3_builder/raw/main/demo.gif)
- [mypy-boto3-sns](#mypy-boto3-sns)
- [How to install](#how-to-install)
- [VSCode extension](#vscode-extension)
- [From PyPI with pip](#from-pypi-with-pip)
- [How to uninstall](#how-to-uninstall)
- [Usage](#usage)
- [VSCode](#vscode)
- [PyCharm](#pycharm)
- [Emacs](#emacs)
- [Sublime Text](#sublime-text)
- [Other IDEs](#other-ides)
- [mypy](#mypy)
- [pyright](#pyright)
- [Explicit type annotations](#explicit-type-annotations)
- [Client annotations](#client-annotations)
- [Paginators annotations](#paginators-annotations)
- [Service Resource annotations](#service-resource-annotations)
- [Other resources annotations](#other-resources-annotations)
- [Collections annotations](#collections-annotations)
- [Literals](#literals)
- [Typed dictionaries](#typed-dictionaries)
- [How it works](#how-it-works)
- [What's new](#what's-new)
- [Implemented features](#implemented-features)
- [Latest changes](#latest-changes)
- [Versioning](#versioning)
- [Thank you](#thank-you)
- [Documentation](#documentation)
- [Support and contributing](#support-and-contributing)
## How to install
### VSCode extension
Add
[AWS Boto3](https://marketplace.visualstudio.com/items?itemName=Boto3typed.boto3-ide)
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.
```bash
# install with boto3 type annotations
python -m pip install 'boto3-stubs[sns]'
# 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[sns]'
# standalone installation
python -m pip install mypy-boto3-sns
```
## How to uninstall
```bash
python -m pip uninstall -y mypy-boto3-sns
```
## Usage
### VSCode
- Install
[Python extension](https://marketplace.visualstudio.com/items?itemName=ms-python.python)
- Install
[Pylance extension](https://marketplace.visualstudio.com/items?itemName=ms-python.vscode-pylance)
- Set `Pylance` as your Python Language Server
- Install `boto3-stubs[sns]` in your environment:
```bash
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
Install `boto3-stubs-lite[sns]` in your environment:
```bash
python -m pip install 'boto3-stubs-lite[sns]'`
```
Both type checking and code completion should now work. Explicit type
annotations **are required**.
Use `boto3-stubs` package instead for implicit type discovery.
### Emacs
- Install `boto3-stubs` with services you use in your environment:
```bash
python -m pip install 'boto3-stubs[sns]'
```
- Install [use-package](https://github.com/jwiegley/use-package),
[lsp](https://github.com/emacs-lsp/lsp-mode/),
[company](https://github.com/company-mode/company-mode) and
[flycheck](https://github.com/flycheck/flycheck) packages
- Install [lsp-pyright](https://github.com/emacs-lsp/lsp-pyright) package
```elisp
(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:
```bash
python -m pip install 'boto3-stubs[sns]'
```
- Install [LSP-pyright](https://github.com/sublimelsp/LSP-pyright) package
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:
```bash
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:
```bash
python -m pip install 'boto3-stubs[sns]'
```
Optionally, you can install `boto3-stubs` to `typings` folder.
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")`.
```python
from boto3.session import Session
from mypy_boto3_sns import SNSClient
client: SNSClient = Session().client("sns")
# now client usage is checked by mypy and IDE should provide code completion
```
### Paginators annotations
`mypy_boto3_sns.paginator` module contains type annotations for all paginators.
```python
from boto3.session import Session
from mypy_boto3_sns import SNSClient
from mypy_boto3_sns.paginator import (
ListEndpointsByPlatformApplicationPaginator,
ListOriginationNumbersPaginator,
ListPhoneNumbersOptedOutPaginator,
ListPlatformApplicationsPaginator,
ListSMSSandboxPhoneNumbersPaginator,
ListSubscriptionsPaginator,
ListSubscriptionsByTopicPaginator,
ListTopicsPaginator,
)
client: SNSClient = Session().client("sns")
# Explicit type annotations are optional here
# Types should be correctly discovered by mypy and IDEs
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_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")`.
```python
from boto3.session import Session
from mypy_boto3_sns import SNSServiceResource
resource: SNSServiceResource = Session().resource("sns")
# now resource usage is checked by mypy and IDE should provide code completion
```
### Other resources annotations
`mypy_boto3_sns.service_resource` module contains type annotations for all
resources.
```python
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")
# 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.
```python
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")
# 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
```
### Literals
`mypy_boto3_sns.literals` module contains literals extracted from shapes that
can be used in user code for type checking.
```python
from mypy_boto3_sns.literals import (
LanguageCodeStringType,
ListEndpointsByPlatformApplicationPaginatorName,
ListOriginationNumbersPaginatorName,
ListPhoneNumbersOptedOutPaginatorName,
ListPlatformApplicationsPaginatorName,
ListSMSSandboxPhoneNumbersPaginatorName,
ListSubscriptionsByTopicPaginatorName,
ListSubscriptionsPaginatorName,
ListTopicsPaginatorName,
NumberCapabilityType,
RouteTypeType,
SMSSandboxPhoneNumberVerificationStatusType,
SNSServiceName,
ServiceName,
ResourceServiceName,
PaginatorName,
RegionName,
)
def check_value(value: LanguageCodeStringType) -> bool:
...
```
### Typed dictionaries
`mypy_boto3_sns.type_defs` module contains structures and shapes assembled to
typed dictionaries for additional type checking.
```python
from mypy_boto3_sns.type_defs import (
AddPermissionInputRequestTypeDef,
AddPermissionInputTopicAddPermissionTypeDef,
BatchResultErrorEntryTypeDef,
CheckIfPhoneNumberIsOptedOutInputRequestTypeDef,
ResponseMetadataTypeDef,
ConfirmSubscriptionInputRequestTypeDef,
ConfirmSubscriptionInputTopicConfirmSubscriptionTypeDef,
CreatePlatformApplicationInputRequestTypeDef,
CreatePlatformApplicationInputServiceResourceCreatePlatformApplicationTypeDef,
CreatePlatformEndpointInputPlatformApplicationCreatePlatformEndpointTypeDef,
CreatePlatformEndpointInputRequestTypeDef,
CreateSMSSandboxPhoneNumberInputRequestTypeDef,
TagTypeDef,
DeleteEndpointInputRequestTypeDef,
DeletePlatformApplicationInputRequestTypeDef,
DeleteSMSSandboxPhoneNumberInputRequestTypeDef,
DeleteTopicInputRequestTypeDef,
EndpointTypeDef,
GetDataProtectionPolicyInputRequestTypeDef,
GetEndpointAttributesInputRequestTypeDef,
GetPlatformApplicationAttributesInputRequestTypeDef,
GetSMSAttributesInputRequestTypeDef,
GetSubscriptionAttributesInputRequestTypeDef,
GetTopicAttributesInputRequestTypeDef,
PaginatorConfigTypeDef,
ListEndpointsByPlatformApplicationInputRequestTypeDef,
ListOriginationNumbersRequestRequestTypeDef,
PhoneNumberInformationTypeDef,
ListPhoneNumbersOptedOutInputRequestTypeDef,
ListPlatformApplicationsInputRequestTypeDef,
PlatformApplicationTypeDef,
ListSMSSandboxPhoneNumbersInputRequestTypeDef,
SMSSandboxPhoneNumberTypeDef,
ListSubscriptionsByTopicInputRequestTypeDef,
SubscriptionTypeDef,
ListSubscriptionsInputRequestTypeDef,
ListTagsForResourceRequestRequestTypeDef,
ListTopicsInputRequestTypeDef,
TopicTypeDef,
MessageAttributeValueTypeDef,
OptInPhoneNumberInputRequestTypeDef,
PublishBatchResultEntryTypeDef,
PutDataProtectionPolicyInputRequestTypeDef,
RemovePermissionInputRequestTypeDef,
RemovePermissionInputTopicRemovePermissionTypeDef,
ServiceResourcePlatformApplicationRequestTypeDef,
ServiceResourcePlatformEndpointRequestTypeDef,
ServiceResourceSubscriptionRequestTypeDef,
ServiceResourceTopicRequestTypeDef,
SetEndpointAttributesInputPlatformEndpointSetAttributesTypeDef,
SetEndpointAttributesInputRequestTypeDef,
SetPlatformApplicationAttributesInputPlatformApplicationSetAttributesTypeDef,
SetPlatformApplicationAttributesInputRequestTypeDef,
SetSMSAttributesInputRequestTypeDef,
SetSubscriptionAttributesInputRequestTypeDef,
SetSubscriptionAttributesInputSubscriptionSetAttributesTypeDef,
SetTopicAttributesInputRequestTypeDef,
SetTopicAttributesInputTopicSetAttributesTypeDef,
SubscribeInputRequestTypeDef,
SubscribeInputTopicSubscribeTypeDef,
UnsubscribeInputRequestTypeDef,
UntagResourceRequestRequestTypeDef,
VerifySMSSandboxPhoneNumberInputRequestTypeDef,
CheckIfPhoneNumberIsOptedOutResponseTypeDef,
ConfirmSubscriptionResponseTypeDef,
CreateEndpointResponseTypeDef,
CreatePlatformApplicationResponseTypeDef,
CreateTopicResponseTypeDef,
EmptyResponseMetadataTypeDef,
GetDataProtectionPolicyResponseTypeDef,
GetEndpointAttributesResponseTypeDef,
GetPlatformApplicationAttributesResponseTypeDef,
GetSMSAttributesResponseTypeDef,
GetSMSSandboxAccountStatusResultTypeDef,
GetSubscriptionAttributesResponseTypeDef,
GetTopicAttributesResponseTypeDef,
ListPhoneNumbersOptedOutResponseTypeDef,
PublishResponseTypeDef,
SubscribeResponseTypeDef,
CreateTopicInputRequestTypeDef,
CreateTopicInputServiceResourceCreateTopicTypeDef,
ListTagsForResourceResponseTypeDef,
TagResourceRequestRequestTypeDef,
ListEndpointsByPlatformApplicationResponseTypeDef,
ListEndpointsByPlatformApplicationInputListEndpointsByPlatformApplicationPaginateTypeDef,
ListOriginationNumbersRequestListOriginationNumbersPaginateTypeDef,
ListPhoneNumbersOptedOutInputListPhoneNumbersOptedOutPaginateTypeDef,
ListPlatformApplicationsInputListPlatformApplicationsPaginateTypeDef,
ListSMSSandboxPhoneNumbersInputListSMSSandboxPhoneNumbersPaginateTypeDef,
ListSubscriptionsByTopicInputListSubscriptionsByTopicPaginateTypeDef,
ListSubscriptionsInputListSubscriptionsPaginateTypeDef,
ListTopicsInputListTopicsPaginateTypeDef,
ListOriginationNumbersResultTypeDef,
ListPlatformApplicationsResponseTypeDef,
ListSMSSandboxPhoneNumbersResultTypeDef,
ListSubscriptionsByTopicResponseTypeDef,
ListSubscriptionsResponseTypeDef,
ListTopicsResponseTypeDef,
PublishBatchRequestEntryTypeDef,
PublishInputPlatformEndpointPublishTypeDef,
PublishInputRequestTypeDef,
PublishInputTopicPublishTypeDef,
PublishBatchResponseTypeDef,
PublishBatchInputRequestTypeDef,
)
def get_structure() -> AddPermissionInputRequestTypeDef:
return {...}
```
## How it works
Fully automated
[mypy-boto3-builder](https://github.com/youtype/mypy_boto3_builder) carefully
generates type annotations for each service, patiently waiting for `boto3`
updates. It delivers a 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 the documentation (blame `botocore` docs if types
are incorrect).
- Type annotations include up-to-date documentation.
- Link to documentation is provided for every method.
- Code is processed by [black](https://github.com/psf/black) and
[isort](https://github.com/PyCQA/isort) for readability.
## What's new
### Implemented features
- Fully type annotated `boto3`, `botocore` and `aiobotocore` libraries
- `mypy`, `pyright`, `VSCode`, `PyCharm`, `Sublime Text` and `Emacs`
compatibility
- `Client`, `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.session` calls
- Auto discovery of types for `session.client` and `session.session` 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](https://github.com/youtype/mypy_boto3_builder/releases).
## Versioning
`mypy-boto3-sns` version is the same as related `boto3` version and follows
[PEP 440](https://www.python.org/dev/peps/pep-0440/) format.
## Thank you
- [Allie Fitter](https://github.com/alliefitter) for
[boto3-type-annotations](https://pypi.org/project/boto3-type-annotations/),
this package is based on top of his work
- [black](https://github.com/psf/black) developers for an awesome formatting
tool
- [Timothy Edmund Crosley](https://github.com/timothycrosley) for
[isort](https://github.com/PyCQA/isort) and how flexible it is
- [mypy](https://github.com/python/mypy) developers for doing all dirty work
for us
- [pyright](https://github.com/microsoft/pyright) team for the new era of typed
Python
## Documentation
All services type annotations can be found in
[boto3 docs](https://youtype.github.io/boto3_stubs_docs/mypy_boto3_sns/)
## Support and contributing
This package is auto-generated. Please reports any bugs or request new features
in [mypy-boto3-builder](https://github.com/youtype/mypy_boto3_builder/issues/)
repository.
%prep
%autosetup -n mypy-boto3-sns-1.26.69
%build
%py3_build
%install
%py3_install
install -d -m755 %{buildroot}/%{_pkgdocdir}
if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
pushd %{buildroot}
if [ -d usr/lib ]; then
find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/lib64 ]; then
find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/bin ]; then
find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/sbin ]; then
find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
fi
touch doclist.lst
if [ -d usr/share/man ]; then
find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
fi
popd
mv %{buildroot}/filelist.lst .
mv %{buildroot}/doclist.lst .
%files -n python3-mypy-boto3-sns -f filelist.lst
%dir %{python3_sitelib}/*
%files help -f doclist.lst
%{_docdir}/*
%changelog
* Sun Apr 23 2023 Python_Bot - 1.26.69-1
- Package Spec generated