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.95 runs
installs and imports cleanly · install 0.0s · import 0.592s · 116.5MB
glibcpy 3.10–3.95 runs
installs and imports cleanly · install 6.0s · import 0.542s · 114MB
114MB installed
● package 114MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
EBSClient
✓ from mypy_boto3_ebs.client import EBSClient
EBSWaiter
✓ from mypy_boto3_ebs.waiter import EBSWaiter
EBSPaginator
✓ from mypy_boto3_ebs.paginator import EBSPaginator
ListSnapshotsResultTypeDef
✓ from mypy_boto3_ebs.type_defs import ListSnapshotsResultTypeDef
This quickstart demonstrates how to use `mypy-boto3-ebs` with `boto3` to get type-hinted AWS EBS client interactions. The `TYPE_CHECKING` block ensures that type-only imports don't cause runtime overhead. Run `mypy <filename>.py` to verify type correctness.
from typing import TYPE_CHECKING
import boto3
import os
# These imports are only for type checking, they don't affect runtime behavior.
if TYPE_CHECKING:
from mypy_boto3_ebs.client import EBSClient
from mypy_boto3_ebs.type_defs import ListSnapshotsResultTypeDef
# Runtime Boto3 client
# For real applications, configure credentials securely (e.g., AWS CLI, environment variables)
client = boto3.client(
"ebs",
aws_access_key_id=os.environ.get('AWS_ACCESS_KEY_ID', 'DUMMY_KEY'),
aws_secret_access_key=os.environ.get('AWS_SECRET_ACCESS_KEY', 'DUMMY_SECRET'),
region_name=os.environ.get('AWS_DEFAULT_REGION', 'us-east-1')
)
# Type hint the client for static analysis (optional but recommended)
ebs_client: EBSClient = client
# Use the client as usual. Type stubs provide autocompletion and error checking.
try:
response: ListSnapshotsResultTypeDef = ebs_client.list_snapshots()
print("EBS Snapshots found:", len(response.get('Snapshots', [])))
for snapshot in response.get('Snapshots', []):
print(f" - {snapshot.get('SnapshotId')}: {snapshot.get('Description')}")
except Exception as e:
print(f"Error listing snapshots: {e}")
# To verify type checking, save this code as example.py and run:
# mypy example.py
Debug
Known issues
breakingPython 3.8 is no longer supported across all `mypy-boto3-*` packages. Ensure your project uses Python 3.9 or newer.fixUpgrade your Python environment to 3.9 or later. If locked to Python 3.8, use an older `mypy-boto3-ebs` version (e.g., <1.42.0) at your own risk for potential inconsistencies with newer `boto3` releases.
affects: >=8.12.0 of mypy-boto3-builder (impacts mypy-boto3-ebs >=1.42.0)
breakingInternal `TypeDef` naming conventions changed, potentially shortening names for packed method arguments (e.g., `*RequestRequestTypeDef` to `*RequestTypeDef`). This impacts direct imports and usage of these `TypeDef` objects.fixReview and update `TypeDef` import paths and names in your codebase if you are directly importing and using these types. Refer to the specific service's `type_defs.pyi` for correct names.
affects: >=8.9.0 of mypy-boto3-builder (impacts mypy-boto3-ebs >=1.38.0)
gotcha`mypy-boto3-ebs` provides only type stubs. You must still install `boto3` to use the AWS SDK at runtime. Without `boto3`, your code will fail to execute.fixAlways include `boto3` in your project's dependencies alongside `mypy-boto3-ebs` (e.g., `pip install boto3 mypy-boto3-ebs`).
affects: All versions
gotchaType stubs are only useful if you are running a static type checker like `mypy`. Without `mypy` (or equivalent), these packages provide no runtime benefit and do not enforce type safety.fixIntegrate `mypy` into your development workflow. Install it (`pip install mypy`) and run it regularly on your codebase (e.g., `mypy your_script.py` or `mypy .`).
affects: All versions
gotchaThe `mypy-boto3-*` ecosystem relies on `boto3` to match versions. While `mypy-boto3-ebs` tracks the `boto3` version, explicit version pinning of `boto3` and `mypy-boto3-ebs` is recommended to avoid type mismatches after `boto3` updates.fixPin both `boto3` and `mypy-boto3-ebs` to compatible versions in your `requirements.txt` or `pyproject.toml` (e.g., `boto3==1.x.x` and `mypy-boto3-ebs==1.x.x`).
affects: All versions
Upgrade
Version history
1.43.0latest on PyPI · released Apr 29, 2026
Audit
Dependencies
boto3requiredProvides the actual runtime implementation for interacting with AWS. mypy-boto3-ebs only provides type stubs.
mypyrequiredThe static type checker required to leverage the type annotations provided by this library.