# mypy-boto3-iot

[![PyPI - mypy-boto3-iot](https://img.shields.io/pypi/v/mypy-boto3-iot.svg?color=blue)](https://pypi.org/project/mypy-boto3-iot)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/mypy-boto3-iot.svg?color=blue)](https://pypi.org/project/mypy-boto3-iot)
[![Docs](https://img.shields.io/readthedocs/mypy-boto3-builder.svg?color=blue)](https://mypy-boto3-builder.readthedocs.io/)

- [mypy-boto3-iot](#mypy-boto3-iot)
  - [How to use](#how-to-use)
  - [Automated type discovery](#automated-type-discovery)


Type annotations for
[boto3.IoT 1.13.26](https://boto3.amazonaws.com/v1/documentation/api/1.13.26/reference/services/iot.html#IoT) 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.2](https://github.com/vemel/mypy_boto3_builder).

More information can be found on [boto3-stubs](https://pypi.org/project/boto3-stubs/) page.

- [mypy-boto3-iot](#mypy-boto3-iot)
  - [How to use](#how-to-use)
    - [Type checking](#type-checking)
  - [How it works](#how-it-works)

## How to use

Make sure you have [mypy](https://github.com/python/mypy) installed and activated in your IDE.

Install `boto3-stubs` for `IoT` service.

```bash
python -m pip install boto3-stubs[iot]

# update installed packages index for automated type discovery
python -m mypy_boto3
```

Use `boto3` with `mypy_boto3_iot` in your project and enjoy type checking and auto-complete.

```python
import boto3

from mypy_boto3_iot import IoTClient

# Now mypy can check if your code is valid.
client: IoTClient = boto3.client("iot")

# works for session as well
session = boto3.session.Session(region="us-west-1")
session_client: IoTClient = session.client("iot")



# Annotated paginators are included as well

import mypy_boto3_iot.paginator as iot_paginators

list_active_violations_paginator: iot_paginators.ListActiveViolationsPaginator = client.get_paginator("list_active_violations")
list_attached_policies_paginator: iot_paginators.ListAttachedPoliciesPaginator = client.get_paginator("list_attached_policies")
list_audit_findings_paginator: iot_paginators.ListAuditFindingsPaginator = client.get_paginator("list_audit_findings")
list_audit_tasks_paginator: iot_paginators.ListAuditTasksPaginator = client.get_paginator("list_audit_tasks")
list_authorizers_paginator: iot_paginators.ListAuthorizersPaginator = client.get_paginator("list_authorizers")
list_billing_groups_paginator: iot_paginators.ListBillingGroupsPaginator = client.get_paginator("list_billing_groups")
list_ca_certificates_paginator: iot_paginators.ListCACertificatesPaginator = client.get_paginator("list_ca_certificates")
list_certificates_paginator: iot_paginators.ListCertificatesPaginator = client.get_paginator("list_certificates")
list_certificates_by_ca_paginator: iot_paginators.ListCertificatesByCAPaginator = client.get_paginator("list_certificates_by_ca")
list_indices_paginator: iot_paginators.ListIndicesPaginator = client.get_paginator("list_indices")
list_job_executions_for_job_paginator: iot_paginators.ListJobExecutionsForJobPaginator = client.get_paginator("list_job_executions_for_job")
list_job_executions_for_thing_paginator: iot_paginators.ListJobExecutionsForThingPaginator = client.get_paginator("list_job_executions_for_thing")
list_jobs_paginator: iot_paginators.ListJobsPaginator = client.get_paginator("list_jobs")
list_ota_updates_paginator: iot_paginators.ListOTAUpdatesPaginator = client.get_paginator("list_ota_updates")
list_outgoing_certificates_paginator: iot_paginators.ListOutgoingCertificatesPaginator = client.get_paginator("list_outgoing_certificates")
list_policies_paginator: iot_paginators.ListPoliciesPaginator = client.get_paginator("list_policies")
list_policy_principals_paginator: iot_paginators.ListPolicyPrincipalsPaginator = client.get_paginator("list_policy_principals")
list_principal_policies_paginator: iot_paginators.ListPrincipalPoliciesPaginator = client.get_paginator("list_principal_policies")
list_principal_things_paginator: iot_paginators.ListPrincipalThingsPaginator = client.get_paginator("list_principal_things")
list_role_aliases_paginator: iot_paginators.ListRoleAliasesPaginator = client.get_paginator("list_role_aliases")
list_scheduled_audits_paginator: iot_paginators.ListScheduledAuditsPaginator = client.get_paginator("list_scheduled_audits")
list_security_profiles_paginator: iot_paginators.ListSecurityProfilesPaginator = client.get_paginator("list_security_profiles")
list_security_profiles_for_target_paginator: iot_paginators.ListSecurityProfilesForTargetPaginator = client.get_paginator("list_security_profiles_for_target")
list_streams_paginator: iot_paginators.ListStreamsPaginator = client.get_paginator("list_streams")
list_tags_for_resource_paginator: iot_paginators.ListTagsForResourcePaginator = client.get_paginator("list_tags_for_resource")
list_targets_for_policy_paginator: iot_paginators.ListTargetsForPolicyPaginator = client.get_paginator("list_targets_for_policy")
list_targets_for_security_profile_paginator: iot_paginators.ListTargetsForSecurityProfilePaginator = client.get_paginator("list_targets_for_security_profile")
list_thing_groups_paginator: iot_paginators.ListThingGroupsPaginator = client.get_paginator("list_thing_groups")
list_thing_groups_for_thing_paginator: iot_paginators.ListThingGroupsForThingPaginator = client.get_paginator("list_thing_groups_for_thing")
list_thing_registration_tasks_paginator: iot_paginators.ListThingRegistrationTasksPaginator = client.get_paginator("list_thing_registration_tasks")
list_thing_types_paginator: iot_paginators.ListThingTypesPaginator = client.get_paginator("list_thing_types")
list_things_paginator: iot_paginators.ListThingsPaginator = client.get_paginator("list_things")
list_things_in_billing_group_paginator: iot_paginators.ListThingsInBillingGroupPaginator = client.get_paginator("list_things_in_billing_group")
list_things_in_thing_group_paginator: iot_paginators.ListThingsInThingGroupPaginator = client.get_paginator("list_things_in_thing_group")
list_topic_rules_paginator: iot_paginators.ListTopicRulesPaginator = client.get_paginator("list_topic_rules")
list_v2_logging_levels_paginator: iot_paginators.ListV2LoggingLevelsPaginator = client.get_paginator("list_v2_logging_levels")
list_violation_events_paginator: iot_paginators.ListViolationEventsPaginator = client.get_paginator("list_violation_events")
```

## Automated type discovery

`mypy_boto3` package can generate index for `mypy_boto3_iot` and other installed services.

```bash
# Run this command when you add or remove service packages
python -m mypy_boto3
```

Generated index provides overloads for `boto3.client` and `boto3.service`,
`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
- `VSCode` does not currently support function overloads

Also, generated index allows you to import types from `mypy_boto3`:

```python
# you can replace imports
import mypy_boto3_iot as iot
from mypy_boto3_iot import IoTClient

# with these
from mypy_boto3 import iot
from mypy_boto3.iot import IoTClient
```