Registry /
type-stubs / mypy-boto3-importexport
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.915 runs
installs and imports cleanly · install 0.0s · import 0.000s · 18.2MB
glibcpy 3.10–3.915 runs
installs and imports cleanly · install 2.7s · import 0.000s · 19MB
71MB installed
● package 71MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
ImportExportClient
✓ from mypy_boto3_importexport import ImportExportClient
✗ from mypy_boto3_importexport.client import ImportExportClient
Client
✓ from mypy_boto3_importexport import Client
ServiceResource
✓ from mypy_boto3_importexport import ServiceResource
This example demonstrates how to initialize a typed `ImportExportClient` and use it to list jobs with proper type annotations, enabling static analysis and IDE auto-completion. It explicitly types the client and uses `JobTypeDef` for response typing. Remember to have AWS credentials configured (e.g., via environment variables or `~/.aws/credentials`).
import boto3
from mypy_boto3_importexport import ImportExportClient
from mypy_boto3_importexport.type_defs import JobTypeDef, ArtifactTypeDef
def get_import_export_client() -> ImportExportClient:
"""Returns a typed ImportExport client."""
# Actual credentials will be picked up by boto3 from environment variables or AWS config
session = boto3.Session(region_name="us-east-1")
return session.client("importexport")
def list_jobs(client: ImportExportClient) -> list[JobTypeDef]:
"""Lists ImportExport jobs."""
response = client.list_jobs(MaxJobs=5)
return response.get("Jobs", [])
if __name__ == "__main__":
client = get_import_export_client()
jobs = list_jobs(client)
if jobs:
print(f"Found {len(jobs)} ImportExport jobs:")
for job in jobs:
print(f" Job ID: {job.get('JobId')}, Type: {job.get('JobType')}, Status: {job.get('JobStatus')}")
else:
print("No ImportExport jobs found.")
Debug
Known issues
breakingPython 3.8 support has been removed. `mypy-boto3-builder` versions 8.12.0 and newer (which generate `mypy-boto3-importexport 1.42.3` and later) require Python 3.9 or higher. Projects on Python 3.8 must use older `mypy-boto3-importexport` versions or upgrade Python.fixUpgrade your Python environment to 3.9 or newer, or pin `mypy-boto3-importexport` to a compatible older version (e.g., <1.42.3).
affects: mypy-boto3-builder >= 8.12.0, mypy-boto3-importexport >= 1.42.3
breakingThe `mypy-boto3-builder` migrated to PEP 561 compliant packages with version 8.12.0. This standardizes how type stubs are distributed and discovered. While generally a positive change, it might affect custom `mypy` configurations or build systems that relied on older stub discovery mechanisms.fixEnsure your `mypy` configuration is up-to-date and correctly identifies installed stub packages. Most standard `mypy` setups should automatically discover PEP 561 packages.
affects: mypy-boto3-builder >= 8.12.0, mypy-boto3-importexport >= 1.42.3
breakingBreaking changes to `TypeDef` naming conventions (e.g., removing redundant `Request` suffixes or changing `Extra` placement) were introduced in `mypy-boto3-builder 8.9.0`. While `importexport` might not be directly affected, other services could see altered `TypedDict` names, potentially breaking existing type annotations.fixReview `TypeDef` imports and usage in your code after upgrading `mypy-boto3` libraries. Consult service-specific documentation for updated `TypeDef` names.
affects: mypy-boto3-builder >= 8.9.0
gotchaFor optimal IDE auto-completion and static analysis, it is recommended to explicitly type-hint `boto3.client` and `session.client` calls with the specific `Client` type (e.g., `ImportExportClient`). While `mypy` can often infer types, explicit annotations provide clearer guidance.fixAdd explicit type annotations for boto3 clients: `client: ImportExportClient = boto3.client("importexport")` or `client: ImportExportClient = session.client("importexport")`. affects: All
gotchaWhen using Pylint with `mypy-boto3` stubs, you might encounter 'undefined variable' warnings for imported types (e.g., `ImportExportClient`) in runtime code. This happens because stubs are only for type-checking and not available at runtime.fixWrap type-only imports within a `if TYPE_CHECKING:` block:
```python
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from mypy_boto3_importexport import ImportExportClient
``` affects: All
deprecatedThe `mypy-boto3` legacy packages have been moved to a separate product in `mypy-boto3-builder 8.9.0`. The recommended approach is to use `boto3-stubs` (which `mypy-boto3-importexport` is effectively a part of) or `types-boto3` for global stubs, or install individual service stubs directly.fixPrefer `pip install 'boto3-stubs[service]'` or `pip install mypy-boto3-service` for individual service stubs, or `pip install types-boto3` for a global package.
affects: mypy-boto3-builder >= 8.9.0
Upgrade
Version history
1.43.0latest on PyPI · released Apr 29, 2026
Audit
Dependencies
boto3requiredRuntime dependency for actual AWS API calls. This package only provides type stubs.
typing-extensionsoptionalRequired for older Python versions (pre-3.9) for full type-hinting support. Included automatically if needed.