{% include "common/header.md.jinja2" with context %}

{% include "common/how_to_install.md.jinja2" with context %}

{% with extras_name="essential" %}
{% include "common/usage.md.jinja2" with context %}
{% endwith %}

### Explicit type annotations

To speed up type checking and code completion, you can set types explicitly.

```python
import boto3
from boto3.session import Session

from {{ package.data.service_prefix }}_ec2.client import EC2Client
from {{ package.data.service_prefix }}_ec2.service_resource import EC2ServiceResource
from {{ package.data.service_prefix }}_ec2.waiter import BundleTaskCompleteWaiter
from {{ package.data.service_prefix }}_ec2.paginator import DescribeVolumesPaginator

session = Session(region_name="us-west-1")

ec2_client: EC2Client = boto3.client("ec2", region_name="us-west-1")
ec2_resource: EC2ServiceResource = session.resource("ec2")

bundle_task_complete_waiter: BundleTaskCompleteWaiter = ec2_client.get_waiter("bundle_task_complete")
describe_volumes_paginator: DescribeVolumesPaginator = ec2_client.get_paginator("describe_volumes")
```

{% include "common/footer.md.jinja2" with context %}

{% include "common/submodules.md.jinja2" with context %}
