# mypy-boto3-signer
[![PyPI - mypy-boto3-signer](https://img.shields.io/pypi/v/mypy-boto3-signer.svg?color=blue)](https://pypi.org/project/mypy-boto3-signer)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/mypy-boto3-signer.svg?color=blue)](https://pypi.org/project/mypy-boto3-signer)
[![Docs](https://img.shields.io/readthedocs/mypy-boto3-builder.svg?color=blue)](https://mypy-boto3-builder.readthedocs.io/)
- [mypy-boto3-signer](#mypy-boto3-signer)
- [How to use](#how-to-use)
- [Automated type discovery](#automated-type-discovery)
Type annotations for
[boto3.Signer 1.14.0](https://boto3.amazonaws.com/v1/documentation/api/1.14.0/reference/services/signer.html#Signer) service
compatible with [mypy](https://github.com/python/mypy), [VSCode](https://code.visualstudio.com/),
[PyCharm](https://www.jetbrains.com/pycharm/) and other tools.
Generated by [mypy-boto3-buider 2.0.4](https://github.com/vemel/mypy_boto3_builder).
More information can be found on [boto3-stubs](https://pypi.org/project/boto3-stubs/) page.
## How to use
Make sure you have [mypy](https://github.com/python/mypy) installed and activated in your IDE.
Install `boto3-stubs` for `Signer` service.
```bash
python -m pip install boto3-stubs[signer]
```
Use `boto3` with `mypy_boto3_signer` in your project and enjoy type checking and auto-complete.
```python
import boto3
from mypy_boto3_signer import SignerClient
# Now mypy can check if your code is valid.
client: SignerClient = boto3.client("signer")
# works for session as well
session = boto3.session.Session(region="us-west-1")
session_client: SignerClient = session.client("signer")
# Waiters are also supported
import mypy_boto3_signer.waiter as signer_waiters
successful_signing_job_waiter: signer_waiters.SuccessfulSigningJobWaiter = client.get_waiter("successful_signing_job")
# Annotated paginators are included as well
import mypy_boto3_signer.paginator as signer_paginators
list_signing_jobs_paginator: signer_paginators.ListSigningJobsPaginator = client.get_paginator("list_signing_jobs")
list_signing_platforms_paginator: signer_paginators.ListSigningPlatformsPaginator = client.get_paginator("list_signing_platforms")
list_signing_profiles_paginator: signer_paginators.ListSigningProfilesPaginator = client.get_paginator("list_signing_profiles")
```
## Dynamic type annotations
`mypy_boto3` command generates `boto3.client/resource` type annotations for
`mypy_boto3_signer` and other installed services.
```bash
# Run this command after you add or remove service packages
python -m mypy_boto3
```
Generated type annotations provide overloads for `boto3.client` and `boto3.resource`,
`boto3.Session.client` and `boto3.Session.resource` functions,
so explicit type annotations are not needed.
- `mypy` supports function overloads as expected
- `PyCharm` also supports function overloads, but consumes a lot of RAM, use carefully if you have many services installed
- `VSCode` does not currently support function overloads, use explicit type annotations
```python
import boto3
# Type is discovered correctly by mypy and PyCharm
# VSCode still needs explicit type annotations
client = boto3.client("signer")
session_client = boto3.Session().client("signer")
```