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.4s · import 0.000s · 20MB
18MB installed
● package 18MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
SnowballClient
✓ from mypy_boto3_snowball.client import SnowballClient
✗ from mypy_boto3_snowball import SnowballClient
SnowballServiceResource
✓ from mypy_boto3_snowball.resources import SnowballServiceResource
ServiceResource
✓ from mypy_boto3_snowball import ServiceResource
This quickstart demonstrates how to initialize a `boto3` Snowball client and use it with `mypy-boto3-snowball` type annotations. The `TYPE_CHECKING` guard ensures the stub package is only used during static analysis, preventing a runtime dependency. The example lists up to 10 Snowball jobs.
import boto3
from typing import TYPE_CHECKING
from mypy_boto3_snowball.client import SnowballClient
def get_snowball_jobs():
# Use TYPE_CHECKING guard to avoid runtime dependency on mypy-boto3-snowball
if TYPE_CHECKING:
client: SnowballClient = boto3.client("snowball")
else:
client = boto3.client("snowball")
try:
response = client.list_jobs(
MaxResults=10,
# NextToken='string' # Uncomment if you have a next token
)
print(f"Snowball Jobs: {response.get('JobListEntries')}")
return response.get('JobListEntries', [])
except client.exceptions.InvalidResourceException as e:
print(f"Error: {e}")
return []
if __name__ == "__main__":
# Ensure AWS credentials are configured (e.g., via ~/.aws/credentials or environment variables)
# For local testing, you might need a mock boto3 or actual AWS setup.
print("Attempting to list Snowball jobs...")
jobs = get_snowball_jobs()
Debug
Known issues
breakingPython 3.8 support has been removed since mypy-boto3-builder version 8.12.0. Ensure your project uses Python 3.9 or newer to utilize the latest `mypy-boto3-snowball` versions.fixUpgrade your Python environment to 3.9 or higher. If unable to upgrade Python, use an older `mypy-boto3-snowball` version compatible with Python 3.8.
affects: mypy-boto3-builder >=8.12.0, mypy-boto3-snowball >=1.42.0
breakingmypy-boto3-builder version 8.9.0 introduced breaking changes in TypeDef naming conventions, potentially affecting existing type-hinted code. For example, `CreateDistributionRequestRequestTypeDef` became `CreateDistributionRequestTypeDef`.fixReview and update `TypedDict` imports and usage in your codebase to match the new naming conventions as defined in the latest stub package documentation.
affects: mypy-boto3-builder >=8.9.0, mypy-boto3-* versions generated by these builders
gotchaLegacy `mypy-boto3` (the monolithic package) has been moved to a separate product by the builder in version 8.9.0. Users should explicitly install service-specific packages (e.g., `mypy-boto3-snowball`) or `boto3-stubs` with extras.fixAlways install the specific `mypy-boto3-SERVICE_NAME` package for the service you need or use `boto3-stubs[SERVICE_NAME]` to ensure you're getting the latest and correctly generated stubs.
affects: mypy-boto3-builder >=8.9.0
gotchaPyCharm may experience slow performance or high CPU usage due to `Literal` overloads in `mypy-boto3` stubs. This is a known issue (PY-40997).fixConsider using `boto3-stubs-lite[snowball]` which offers a more RAM-friendly experience without `session.client`/`resource` overloads (requiring explicit type annotations). Alternatively, disable PyCharm's internal type checker and rely on external tools like `mypy` or `pyright`.
affects: All versions
gotchaWhile `mypy-boto3` often provides implicit type discovery, explicit type annotations for clients, paginators, and waiters can improve clarity and sometimes be necessary, especially when using `lite` versions of the stubs.fixIt's good practice to explicitly type-hint your `boto3` client (e.g., `client: SnowballClient = boto3.client("snowball")`) for maximum type-checking benefit and IDE assistance. affects: All versions
Upgrade
Version history
1.43.0latest on PyPI · released Apr 29, 2026
Audit
Dependencies
boto3requiredRuntime dependency for AWS API calls.
types-botocorerequiredUnderlying type stubs for botocore, implicitly used by mypy-boto3-snowball.