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.611s · 53.4MB
glibcpy 3.10–3.910 runs
installs and imports cleanly · install 5.4s · import 0.557s · 54MB
52MB installed
● package 52MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
SsmSapClient
✓ from mypy_boto3_ssm_sap.client import SsmSapClient
ListApplicationsPaginator
✓ from mypy_boto3_ssm_sap.paginator import ListApplicationsPaginator
SsmSapServiceResource
✓ from mypy_boto3_ssm_sap.service_resource import SsmSapServiceResource
Not all services have a ServiceResource, but if they do, this is the pattern.
ApplicationStatusType
✓ from mypy_boto3_ssm_sap.literals import ApplicationStatusType
Literals provide type-safe string values for various service parameters.
ListApplicationsOutputTypeDef
✓ from mypy_boto3_ssm_sap.type_defs import ListApplicationsOutputTypeDef
TypeDefs provide explicit type annotations for input/output dictionary structures.
This example demonstrates how to get a type-hinted `SsmSapClient` and use a paginator for `list_applications`, leveraging the type annotations provided by `mypy-boto3-ssm-sap`. The `TYPE_CHECKING` block ensures that the code runs without issues even if `mypy-boto3-ssm-sap` is not installed at runtime, while still providing type hints for static analysis.
import boto3
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from mypy_boto3_ssm_sap.client import SsmSapClient
from mypy_boto3_ssm_sap.paginator import ListApplicationsPaginator
def get_ssm_sap_client() -> 'SsmSapClient':
"""Returns a type-hinted Boto3 SsmSap client."""
# Boto3 client is implicitly typed by mypy-boto3-ssm-sap
return boto3.client("ssm-sap")
def list_all_applications(client: 'SsmSapClient'):
"""Lists all SsmSap applications using a paginator."""
paginator: 'ListApplicationsPaginator' = client.get_paginator("list_applications")
for page in paginator.paginate():
for app in page.get("Applications", []):
print(f"Application ID: {app.get('ApplicationId')}, Status: {app.get('Status')}")
# Example usage (requires AWS credentials configured for boto3)
if __name__ == "__main__":
ssm_sap_client = get_ssm_sap_client()
list_all_applications(ssm_sap_client)
Debug
Known issues
gotchaThis package provides only type annotations, not the `boto3` runtime itself. You must install `boto3` (e.g., `pip install boto3`) for the code to execute at runtime. Without `boto3` installed, this package is effectively useless.fixAlways install `boto3` alongside `mypy-boto3-ssm-sap` (e.g., `pip install mypy-boto3-ssm-sap boto3`).
affects: all
breakingSupport for Python 3.8 was removed starting with `mypy-boto3-builder` version 8.12.0. Packages generated with this builder version (including `mypy-boto3-ssm-sap` 1.42.13 and newer) will not work with Python 3.8.fixUpgrade your Python environment to 3.9 or newer.
affects: >=8.12.0 of builder (corresponds to mypy-boto3-ssm-sap >=1.42.13)
breakingIn `mypy-boto3-builder` version 8.9.0, `TypeDef` naming conventions changed. This includes shortening packed method argument names (e.g., `CreateDistributionRequestRequestTypeDef` -> `CreateDistributionRequestTypeDef`) and moving `Extra` postfixes (e.g., `CreateDistributionExtraRequestTypeDef` -> `CreateDistributionRequestExtraTypeDef`). This can break existing type hint usage.fixReview and update your `TypeDef` imports and usage to align with the new naming conventions. Consult the specific service's documentation for exact `TypeDef` names.
affects: >=8.9.0 of builder (check your `mypy-boto3-ssm-sap` version's builder version)
gotchaIf using `mypy-boto3-builder` to generate custom stubs or installing `boto3-stubs-lite`, explicit type annotations for `boto3.session.client()` and `boto3.session.resource()` calls might be required. The standalone `mypy-boto3-ssm-sap` package generally provides implicit typing, but `lite` versions do not.fixFor `lite` versions, explicitly add type annotations: `client: SsmSapClient = session.client("ssm-sap")`. For standard packages, this is usually optional but good practice. affects: All versions, specifically when using lite variants or custom builds.
gotchaWhen using Pylint, it might complain about undefined variables if `mypy-boto3` imports are conditional on `TYPE_CHECKING` and Pylint is not configured to understand these. This is a Pylint limitation, not a bug in the stubs.fixUse a `TYPE_CHECKING` block with runtime fallbacks (`ClassName = object`) or configure Pylint to ignore these specific warnings (e.g., `# pylint: disable=no-name-in-module`).
affects: All versions when using Pylint.
Upgrade
Version history
1.43.0latest on PyPI · released Apr 29, 2026
Audit
Dependencies
boto3requiredThese are type stubs for the boto3 library; boto3 itself must be installed for runtime execution.
mypyoptionalThe primary static type checker for which these stubs are designed.