diff options
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | python-mypy-boto3-sns.spec | 1879 | ||||
| -rw-r--r-- | sources | 1 |
3 files changed, 1881 insertions, 0 deletions
@@ -0,0 +1 @@ +/mypy-boto3-sns-1.26.69.tar.gz diff --git a/python-mypy-boto3-sns.spec b/python-mypy-boto3-sns.spec new file mode 100644 index 0000000..3cf0b97 --- /dev/null +++ b/python-mypy-boto3-sns.spec @@ -0,0 +1,1879 @@ +%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 +<a id="mypy-boto3-sns"></a> + +# mypy-boto3-sns + +[](https://pypi.org/project/mypy-boto3-sns) +[](https://pypi.org/project/mypy-boto3-sns) +[](https://mypy-boto3-builder.readthedocs.io/) +[](https://pypistats.org/packages/mypy-boto3-sns) + + + +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: + + + +- [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) + +<a id="how-to-install"></a> + +## How to install + +<a id="vscode-extension"></a> + +### 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`. + +<a id="from-pypi-with-pip"></a> + +### 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 +``` + +<a id="how-to-uninstall"></a> + +## How to uninstall + +```bash +python -m pip uninstall -y mypy-boto3-sns +``` + +<a id="usage"></a> + +## Usage + +<a id="vscode"></a> + +### 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. + +<a id="pycharm"></a> + +### 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. + +<a id="emacs"></a> + +### 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. + +<a id="sublime-text"></a> + +### 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. + +<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[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. + +<a id="pyright"></a> + +### 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. + +<a id="explicit-type-annotations"></a> + +## Explicit type annotations + +<a id="client-annotations"></a> + +### 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 +``` + +<a id="paginators-annotations"></a> + +### 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") +``` + +<a id="service-resource-annotations"></a> + +### 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 +``` + +<a id="other-resources-annotations"></a> + +### 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(...) +``` + +<a id="collections-annotations"></a> + +### 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 +``` + +<a id="literals"></a> + +### 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: + ... +``` + +<a id="typed-dictionaries"></a> + +### 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 {...} +``` + +<a id="how-it-works"></a> + +## 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. + +<a id="what's-new"></a> + +## What's new + +<a id="implemented-features"></a> + +### 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 + +<a id="latest-changes"></a> + +### Latest changes + +Builder changelog can be found in +[Releases](https://github.com/youtype/mypy_boto3_builder/releases). + +<a id="versioning"></a> + +## 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. + +<a id="thank-you"></a> + +## 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 + +<a id="documentation"></a> + +## Documentation + +All services type annotations can be found in +[boto3 docs](https://youtype.github.io/boto3_stubs_docs/mypy_boto3_sns/) + +<a id="support-and-contributing"></a> + +## 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 +<a id="mypy-boto3-sns"></a> + +# mypy-boto3-sns + +[](https://pypi.org/project/mypy-boto3-sns) +[](https://pypi.org/project/mypy-boto3-sns) +[](https://mypy-boto3-builder.readthedocs.io/) +[](https://pypistats.org/packages/mypy-boto3-sns) + + + +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: + + + +- [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) + +<a id="how-to-install"></a> + +## How to install + +<a id="vscode-extension"></a> + +### 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`. + +<a id="from-pypi-with-pip"></a> + +### 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 +``` + +<a id="how-to-uninstall"></a> + +## How to uninstall + +```bash +python -m pip uninstall -y mypy-boto3-sns +``` + +<a id="usage"></a> + +## Usage + +<a id="vscode"></a> + +### 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. + +<a id="pycharm"></a> + +### 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. + +<a id="emacs"></a> + +### 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. + +<a id="sublime-text"></a> + +### 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. + +<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[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. + +<a id="pyright"></a> + +### 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. + +<a id="explicit-type-annotations"></a> + +## Explicit type annotations + +<a id="client-annotations"></a> + +### 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 +``` + +<a id="paginators-annotations"></a> + +### 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") +``` + +<a id="service-resource-annotations"></a> + +### 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 +``` + +<a id="other-resources-annotations"></a> + +### 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(...) +``` + +<a id="collections-annotations"></a> + +### 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 +``` + +<a id="literals"></a> + +### 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: + ... +``` + +<a id="typed-dictionaries"></a> + +### 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 {...} +``` + +<a id="how-it-works"></a> + +## 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. + +<a id="what's-new"></a> + +## What's new + +<a id="implemented-features"></a> + +### 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 + +<a id="latest-changes"></a> + +### Latest changes + +Builder changelog can be found in +[Releases](https://github.com/youtype/mypy_boto3_builder/releases). + +<a id="versioning"></a> + +## 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. + +<a id="thank-you"></a> + +## 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 + +<a id="documentation"></a> + +## Documentation + +All services type annotations can be found in +[boto3 docs](https://youtype.github.io/boto3_stubs_docs/mypy_boto3_sns/) + +<a id="support-and-contributing"></a> + +## 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 +<a id="mypy-boto3-sns"></a> + +# mypy-boto3-sns + +[](https://pypi.org/project/mypy-boto3-sns) +[](https://pypi.org/project/mypy-boto3-sns) +[](https://mypy-boto3-builder.readthedocs.io/) +[](https://pypistats.org/packages/mypy-boto3-sns) + + + +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: + + + +- [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) + +<a id="how-to-install"></a> + +## How to install + +<a id="vscode-extension"></a> + +### 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`. + +<a id="from-pypi-with-pip"></a> + +### 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 +``` + +<a id="how-to-uninstall"></a> + +## How to uninstall + +```bash +python -m pip uninstall -y mypy-boto3-sns +``` + +<a id="usage"></a> + +## Usage + +<a id="vscode"></a> + +### 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. + +<a id="pycharm"></a> + +### 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. + +<a id="emacs"></a> + +### 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. + +<a id="sublime-text"></a> + +### 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. + +<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[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. + +<a id="pyright"></a> + +### 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. + +<a id="explicit-type-annotations"></a> + +## Explicit type annotations + +<a id="client-annotations"></a> + +### 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 +``` + +<a id="paginators-annotations"></a> + +### 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") +``` + +<a id="service-resource-annotations"></a> + +### 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 +``` + +<a id="other-resources-annotations"></a> + +### 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(...) +``` + +<a id="collections-annotations"></a> + +### 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 +``` + +<a id="literals"></a> + +### 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: + ... +``` + +<a id="typed-dictionaries"></a> + +### 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 {...} +``` + +<a id="how-it-works"></a> + +## 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. + +<a id="what's-new"></a> + +## What's new + +<a id="implemented-features"></a> + +### 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 + +<a id="latest-changes"></a> + +### Latest changes + +Builder changelog can be found in +[Releases](https://github.com/youtype/mypy_boto3_builder/releases). + +<a id="versioning"></a> + +## 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. + +<a id="thank-you"></a> + +## 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 + +<a id="documentation"></a> + +## Documentation + +All services type annotations can be found in +[boto3 docs](https://youtype.github.io/boto3_stubs_docs/mypy_boto3_sns/) + +<a id="support-and-contributing"></a> + +## 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 +* Mon Apr 10 2023 Python_Bot <Python_Bot@openeuler.org> - 1.26.69-1 +- Package Spec generated @@ -0,0 +1 @@ +be937e31bc38603c8130f67fe9019cc3 mypy-boto3-sns-1.26.69.tar.gz |
