Install & Compatibility
Where this runs
tested against v1.43.83 · 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.000s · 208.5MB
glibcpy 3.10–3.95 runs
installs and imports cleanly · install 9.1s · import 0.000s · 209MB
212MB installed
● package 212MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
S3Client
✓ from boto3_stubs.s3.client import S3Client
types-boto3-full is a meta-package. Its type definitions are typically imported from the `boto3_stubs` namespace (e.g., `boto3_stubs.service_name.client` or `boto3_stubs.session`). You typically use `TYPE_CHECKING` to conditionally import these.
Session
✓ from boto3_stubs.session import Session
Use this for type-hinting the main boto3 session object.
This quickstart demonstrates how to use types-boto3-full for static type checking with boto3. It shows conditional imports for type stubs and then applies them to a standard boto3 client interaction. Ensure you have `boto3` and `mypy` installed alongside `types-boto3-full`.
from typing import TYPE_CHECKING
import boto3
import os
# Conditionally import type stubs only for type checking
if TYPE_CHECKING:
from boto3_stubs.s3.client import S3Client
from boto3_stubs.session import Session
# Instantiate a boto3 session (runtime code)
session: 'Session' = boto3.session.Session(
region_name=os.environ.get('AWS_REGION', 'us-east-1'),
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')
)
# Get an S3 client and type-hint it
s3_client: 'S3Client' = session.client('s3')
try:
# This call will be type-checked by MyPy
buckets = s3_client.list_buckets()
print(f"Successfully listed {len(buckets.get('Buckets', []))} S3 buckets.")
except Exception as e:
print(f"Error listing S3 buckets: {e}")
# To type-check this file, run:
# pip install mypy
# mypy your_script_name.py
Debug
Known issues
breakingPython 3.8 support has been removed as of `mypy-boto3-builder` version 8.12.0 (which generates `types-boto3-full` 1.42.x and above).fixUpgrade your Python environment to 3.9 or newer. If you must use Python 3.8, pin `types-boto3-full` to a version older than 1.42.0 (e.g., `types-boto3-full<1.42`).
affects: 1.42.x and above
gotcha`types-boto3-full` provides type stubs only. You must also install `boto3` separately for your code to run at runtime.fixAlways install `boto3` alongside `types-boto3-full` (e.g., `pip install boto3 types-boto3-full`).
affects: All versions
breakingThe `sms-voice` service was removed in `mypy-boto3-builder` 8.11.0 (generating `types-boto3-full` 1.41.x+). It is no longer supported; use `pinpoint-sms-voice` instead.fixMigrate your code to use the `pinpoint-sms-voice` service client instead of `sms-voice`.
affects: 1.41.x and above
breakingTypedDict naming conventions were changed in `mypy-boto3-builder` 8.9.0 (generating `types-boto3-full` 1.39.x+), potentially shortening names or reordering suffixes (e.g., `CreateDistributionRequestRequestTypeDef` -> `CreateDistributionRequestTypeDef`).fixReview your code for direct references to specific TypedDict names and adjust them according to the new conventions. Type checkers will highlight these breaking changes.
affects: 1.39.x and above
gotchaThe package `types-boto3-full` itself is not meant to be imported directly at runtime. It's a collection of stub files that a type checker (like MyPy) uses to understand `boto3`'s types.fixDo not add `import types_boto3_full` to your runtime code. Instead, import specific type definitions from `boto3_stubs` conditionally using `if TYPE_CHECKING:`.
affects: All versions
Upgrade
Version history
1.43.83latest on PyPI · released Aug 29, 2026
Audit
Dependencies
boto3requiredProvides runtime functionality; types-boto3-full only supplies type annotations for it.
pythonrequiredRequires Python 3.9 or higher due to recent updates in the stub generator.