Install & Compatibility
Where this runs
tested against v1.43.47 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
muslpy 3.10–3.910 runs
installs and imports cleanly · install 0.0s · import 0.000s · 198.8MB
glibcpy 3.10–3.910 runs
installs and imports cleanly · install 3.7s · import 0.000s · 267MB
232MB installed
● package 232MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
ElasticsearchClient
✓ from mypy_boto3_es import ElasticsearchClient
✗ from mypy_boto3_es import ElasticsearchClient
This example demonstrates how to instantiate a `boto3` Elasticsearch client and apply `mypy-boto3-es` type hints for improved static analysis. Ensure `boto3` is installed alongside `mypy-boto3-es`.
import boto3
from mypy_boto3_es.client import ElasticsearchClient
# Instantiate the boto3 client with type hinting
es_client: ElasticsearchClient = boto3.client("es")
try:
# Example usage: list domain names
response = es_client.list_domain_names()
for domain in response.get('DomainNames', []):
print(f"Found domain: {domain['DomainName']}")
except Exception as e:
print(f"An error occurred: {e}")
Debug
Known issues
breakingPython 3.8 support was removed from `mypy-boto3-builder` in version 8.12.0. This means `mypy-boto3-es` versions generated by this builder (typically `1.42.x` and later) require Python 3.9 or newer.fixUpgrade your Python environment to 3.9 or higher.
affects: mypy-boto3-builder >= 8.12.0 (corresponding mypy-boto3-es versions)
breakingType definition (TypeDef) naming conventions changed in `mypy-boto3-builder` 8.9.0. Specifically, redundant 'Request' suffixes were shortened (e.g., `CreateDistributionRequestRequestTypeDef` became `CreateDistributionRequestTypeDef`), and conflicting `Extra` postfixes were moved (e.g., `CreateDistributionExtraRequestTypeDef` became `CreateDistributionRequestExtraTypeDef`). While the specific `es` service might not have these exact TypeDefs, users relying on explicit `mypy-boto3` TypeDef names across services may need to update their code.fixReview your code for explicitly imported TypeDefs and adjust their names according to the new conventions. Consult the `type_defs.pyi` file for the correct names.
affects: mypy-boto3-builder >= 8.9.0 (corresponding mypy-boto3-es versions)
gotchaThe `mypy-boto3-es` package provides *only* type stubs. You must install `boto3` separately for your code to actually run and interact with AWS services. Similarly, `mypy` is required to perform static type checking.fixEnsure both `pip install boto3` and `pip install mypy` are run in your environment.
affects: All versions
gotchaThe version of `mypy-boto3-es` typically corresponds to the `boto3` version it provides stubs for. If you upgrade `boto3` but do not update `mypy-boto3-es` to a matching or compatible version, you may encounter incorrect or missing type hints.fixAlways keep `mypy-boto3-es` and `boto3` versions aligned. For example, if you are using `boto3==1.42.81`, install `mypy-boto3-es==1.42.81`.
affects: All versions
Upgrade
Version history
1.43.47latest on PyPI · released Jul 13, 2026
Audit
Dependencies
boto3requiredProvides the underlying AWS SDK for Python; these stubs type-check its usage.
mypyrequiredThe static type checker that utilizes these stubs.