Install & Compatibility
Where this runs
tested against v1.43.0 · 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 · 19.8MB
glibcpy 3.10–3.910 runs
installs and imports cleanly · install 3.3s · import 0.000s · 20MB
18MB installed
● package 18MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
FISClient
✓ from mypy_boto3_fis import FISClient
✗ from mypy_boto3_fis import FISClient
Client
✓ from mypy_boto3_fis import Client
✗ from mypy_boto3_fis import FISClient
FISServiceResource
✓ from mypy_boto3_fis import FISServiceResource
✗ from mypy_boto3_fis import FISClient
This quickstart demonstrates how to obtain a type-hinted FIS client and use it to list experiments. Explicitly annotating the client type (`client: FISClient`) is often recommended for better IDE support and static analysis. It also shows importing and using a TypedDict for the response structure. The `TYPE_CHECKING` block ensures that stub imports are only used during type checking.
import boto3
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from mypy_boto3_fis import FISClient
from mypy_boto3_fis.type_defs import ListExperimentsOutputTypeDef
# Example of a TypedDict for a specific request parameter
from mypy_boto3_fis.type_defs import ExperimentTemplateSummaryTypeDef
def list_fis_experiments() -> list['ExperimentTemplateSummaryTypeDef']:
client: FISClient = boto3.client('fis')
response: ListExperimentsOutputTypeDef = client.list_experiments()
return response.get('experimentSummaries', [])
# Example usage (will not be type-checked at runtime by mypy-boto3-fis)
if __name__ == "__main__":
try:
experiments = list_fis_experiments()
print(f"Found {len(experiments)} FIS experiments.")
for experiment in experiments:
print(f" - {experiment.get('id')}: {experiment.get('state', {}).get('status')}")
except Exception as e:
print(f"Error listing FIS experiments: {e}")
Debug
Known issues
breakingSupport for Python 3.8 was removed in `mypy-boto3-builder` version 8.12.0, affecting all generated `mypy-boto3-*` packages. Ensure your projects use Python 3.9 or higher.fixUpgrade your Python environment to 3.9 or newer.
affects: >=8.12.0 of mypy-boto3-builder (corresponding mypy-boto3-fis versions)
breakingTypeDef naming conventions changed in `mypy-boto3-builder` 8.9.0. Specifically, redundant `Request` postfixes were removed (e.g., `CreateDistributionRequestRequestTypeDef` became `CreateDistributionRequestTypeDef`), and `Extra` postfixes moved to the end of the name. This impacts imports and usage of generated TypeDefs.fixReview your imports and usage of `TypeDef` objects and update their names according to the new conventions.
affects: >=8.9.0 of mypy-boto3-builder (corresponding mypy-boto3-fis versions)
gotchaFor optimal IDE autocomplete and `mypy` checks, explicitly type-annotate `boto3.client()` and `boto3.session.client()` calls with the imported client type (e.g., `client: FISClient = boto3.client('fis')`). While `mypy` often auto-discovers types, explicit hints provide the best experience across all tools.fixAdd explicit type annotations when initializing boto3 clients, resources, paginators, and waiters.
affects: All
gotchaThe `mypy-boto3-fis` package provides type stubs, but `mypy` itself (the static type checker) is not a dependency and must be installed and configured separately in your project.fixInstall `mypy` (`pip install mypy`) and configure it (e.g., via `pyproject.toml` or `mypy.ini`) in your project.
affects: All
gotchaWhen integrating with tools like Pylint, it's recommended to guard stub imports using `if TYPE_CHECKING:` to avoid runtime dependencies in production, as Pylint might otherwise complain about undefined variables if the stubs are not present at runtime.fixWrap type stub imports within `if TYPE_CHECKING:` blocks and provide fallback `object` assignments for runtime compatibility.
affects: All
gotchaPyCharm has known performance issues with `Literal` overloads. If you experience slow performance, consider using the `boto3-stubs-lite` version (e.g., `pip install 'boto3-stubs-lite[fis]'`), which is more RAM-friendly but requires more explicit type annotations.fixFor PyCharm users, consider `boto3-stubs-lite` if performance is an issue, or ensure you are on the latest PyCharm and Python versions for potential improvements.
affects: All
Upgrade
Version history
1.43.0latest on PyPI · released Apr 29, 2026
Audit
Dependencies
boto3requiredProvides the AWS SDK for Python that these stubs type-check.
mypyoptionalThe static type checker that utilizes these annotations; not a runtime dependency of the stubs themselves.