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.582s · 51.9MB
glibcpy 3.10–3.95 runs
installs and imports cleanly · install 3.9s · import 0.542s · 52MB
50MB installed
● package 50MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
S3OutpostsClient
✓ from mypy_boto3_s3outposts.client import S3OutpostsClient
Import the typed client for S3Outposts.
ListEndpointsPaginator
✓ from mypy_boto3_s3outposts.paginator import ListEndpointsPaginator
Import typed paginators for S3Outposts operations.
CreateEndpointRequestTypeDef
✓ from mypy_boto3_s3outposts.type_defs import CreateEndpointRequestTypeDef
Import typed dictionaries for request/response bodies and other data structures.
Session
✓ from boto3.session import Session
The actual boto3 session is still required for client creation.
This quickstart demonstrates how to initialize a typed S3Outposts client using `boto3.session.Session` and `mypy-boto3-s3outposts` for enhanced type checking. It includes an example of listing endpoints and a commented-out example of using a `TypedDict` for a request payload.
import os
from typing import TYPE_CHECKING
import boto3
from boto3.session import Session
if TYPE_CHECKING:
from mypy_boto3_s3outposts.client import S3OutpostsClient
from mypy_boto3_s3outposts.type_defs import CreateEndpointRequestTypeDef
def get_s3outposts_client() -> 'S3OutpostsClient':
# Explicit type annotation is optional with full mypy-boto3-stubs
# but can be helpful for IDEs and type checkers like mypy/pyright.
session = Session(region_name=os.environ.get('AWS_DEFAULT_REGION', 'us-east-1'))
client: S3OutpostsClient = session.client('s3outposts')
return client
if __name__ == "__main__":
s3outposts_client = get_s3outposts_client()
print("Listing S3Outposts endpoints:")
try:
response = s3outposts_client.list_endpoints()
for endpoint in response.get("Endpoints", []):
print(f" Endpoint Id: {endpoint.get('EndpointId')}, Status: {endpoint.get('Status')}")
except Exception as e:
print(f"Error listing endpoints: {e}")
# Example of using a TypedDict for a request payload (if creating an endpoint)
# Note: This is a placeholder and would require actual valid parameters to run.
if TYPE_CHECKING:
create_endpoint_request: CreateEndpointRequestTypeDef = {
"OutpostId": "op-0123456789abcdef0",
"S3OutpostsArn": "arn:aws:s3-outposts:us-east-1:123456789012:outpost/op-0123456789abcdef0/accesspoint/my-accesspoint",
"EndpointDetails": {
"SecurityGroupId": "sg-0abcdef1234567890",
"SubnetId": "subnet-0abcdef1234567890"
}
}
# result = s3outposts_client.create_endpoint(**create_endpoint_request)
# print(f"Created endpoint: {result.get('EndpointArn')}")
Debug
Known issues
breakingSupport for Python 3.8 was removed in `mypy-boto3-builder` version 8.12.0, which generates `mypy-boto3-s3outposts`. Users on Python 3.8 should upgrade their Python version.fixUpgrade your Python environment to 3.9 or newer. The `requires_python` for `mypy-boto3-s3outposts` is `>=3.9`.
affects: >=8.12.0 (builder)
breakingAs of `mypy-boto3-builder` version 8.12.0, the generated stub packages fully migrated to PEP 561. This change generally improves compatibility but may require updates to `mypy` or IDE configurations for older setups.fixEnsure your `mypy` and IDE environments are up-to-date and correctly configured to discover PEP 561-compliant stub packages. Reinstalling the stub packages can sometimes resolve issues.
affects: >=8.12.0 (builder)
breakingIn `mypy-boto3-builder` version 8.9.0, TypeDef naming conventions changed. For example, `CreateDistributionRequestRequestTypeDef` was shortened to `CreateDistributionRequestTypeDef`. This affects all generated service TypeDefs, including those for S3Outposts.fixReview your code for any custom TypeDef imports or usages and update them to the new, shorter names. Consult the `mypy-boto3-s3outposts` documentation for specific TypeDef names.
affects: >=8.9.0 (builder)
gotchaWhile `mypy-boto3` stubs generally allow implicit type discovery, explicit type annotations (e.g., `client: S3OutpostsClient = session.client('s3outposts')`) are often recommended for the best IDE autocomplete and type checker experience, especially when using `mypy-boto3-lite` variants.fixAdd explicit type annotations to your `boto3` client and resource objects using the types imported from `mypy_boto3_s3outposts`.
affects: All versions
gotchaPylint may report 'undefined variable' errors when using `TYPE_CHECKING` blocks to conditionally import stubs. This is a known issue with Pylint's static analysis.fixTo resolve Pylint warnings, set the conditionally imported types to `object` in the `else` block of your `TYPE_CHECKING` statement. For example: `if TYPE_CHECKING: from mypy_boto3_s3outposts.client import S3OutpostsClient else: S3OutpostsClient = object`.
affects: All versions
Upgrade
Version history
1.43.0latest on PyPI · released Apr 29, 2026
Audit
Dependencies
boto3requiredThis package provides type stubs for the `boto3` library; `boto3` itself is a required runtime dependency.