Type annotations for boto3.S3 1.34.0 service generated with mypy-boto3-builder 7.21.0

Type annotations for boto3.S3 1.34.0 service compatible with VSCode, PyCharm, Emacs, Sublime Text, mypy, pyright and other tools.
Generated by mypy-boto3-builder 7.21.0.
More information can be found on boto3-stubs page and in mypy-boto3-s3 docs.
See how it helps to find and fix potential bugs:

Add
AWS Boto3
extension to your VSCode and run AWS boto3: Quick Start command.
Click Modify and select boto3 common and S3.
Install boto3-stubs for S3 service.
# install with boto3 type annotations
python -m pip install 'boto3-stubs[s3]'
# Lite version does not provide session.client/resource overloads
# it is more RAM-friendly, but requires explicit type annotations
python -m pip install 'boto3-stubs-lite[s3]'
# standalone installation
python -m pip install mypy-boto3-s3
Installing mypy-boto3-s3 from the conda-forge channel can be achieved by
adding conda-forge to your channels with:
conda config --add channels conda-forge
conda config --set channel_priority strict
Once the conda-forge channel has been enabled, mypy-boto3-s3 can be
installed with:
conda install mypy-boto3-s3
It is possible to list all of the versions of mypy-boto3-s3 available on your
platform with:
conda search mypy-boto3-s3 --channel conda-forge
python -m pip uninstall -y mypy-boto3-s3
Pylance as your Python Language Serverboto3-stubs[s3] in your environment:python -m pip install 'boto3-stubs[s3]'
Both type checking and code completion should now work. No explicit type
annotations required, write your boto3 code as usual.
Install boto3-stubs-lite[s3] in your environment:
python -m pip install 'boto3-stubs-lite[s3]'`
Both type checking and code completion should now work. Explicit type annotations are required.
Use boto3-stubs package instead for implicit type discovery.
boto3-stubs with services you use in your environment:python -m pip install 'boto3-stubs[s3]'
(use-package lsp-pyright
:ensure t
:hook (python-mode . (lambda ()
(require 'lsp-pyright)
(lsp))) ; or lsp-deferred
:init (when (executable-find "python3")
(setq lsp-pyright-python-executable-cmd "python3"))
)
boto3-stubsType checking should now work. No explicit type annotations required, write
your boto3 code as usual.
boto3-stubs[s3] with services you use in your environment:python -m pip install 'boto3-stubs[s3]'
Type checking should now work. No explicit type annotations required, write
your boto3 code as usual.
Not tested, but as long as your IDE supports mypy or pyright, everything
should work.
mypy: python -m pip install mypyboto3-stubs[s3] in your environment:python -m pip install 'boto3-stubs[s3]'`
Type checking should now work. No explicit type annotations required, write
your boto3 code as usual.
pyright: npm i -g pyrightboto3-stubs[s3] in your environment:python -m pip install 'boto3-stubs[s3]'
Optionally, you can install boto3-stubs to typings folder.
Type checking should now work. No explicit type annotations required, write
your boto3 code as usual.
S3Client provides annotations for boto3.client("s3").
from boto3.session import Session
from mypy_boto3_s3 import S3Client
client: S3Client = Session().client("s3")
# now client usage is checked by mypy and IDE should provide code completion
mypy_boto3_s3.paginator module contains type annotations for all paginators.
from boto3.session import Session
from mypy_boto3_s3 import S3Client
from mypy_boto3_s3.paginator import (
ListDirectoryBucketsPaginator,
ListMultipartUploadsPaginator,
ListObjectVersionsPaginator,
ListObjectsPaginator,
ListObjectsV2Paginator,
ListPartsPaginator,
)
client: S3Client = Session().client("s3")
# Explicit type annotations are optional here
# Types should be correctly discovered by mypy and IDEs
list_directory_buckets_paginator: ListDirectoryBucketsPaginator = client.get_paginator(
"list_directory_buckets"
)
list_multipart_uploads_paginator: ListMultipartUploadsPaginator = client.get_paginator(
"list_multipart_uploads"
)
list_object_versions_paginator: ListObjectVersionsPaginator = client.get_paginator(
"list_object_versions"
)
list_objects_paginator: ListObjectsPaginator = client.get_paginator("list_objects")
list_objects_v2_paginator: ListObjectsV2Paginator = client.get_paginator("list_objects_v2")
list_parts_paginator: ListPartsPaginator = client.get_paginator("list_parts")
mypy_boto3_s3.waiter module contains type annotations for all waiters.
from boto3.session import Session
from mypy_boto3_s3 import S3Client
from mypy_boto3_s3.waiter import (
BucketExistsWaiter,
BucketNotExistsWaiter,
ObjectExistsWaiter,
ObjectNotExistsWaiter,
)
client: S3Client = Session().client("s3")
# Explicit type annotations are optional here
# Types should be correctly discovered by mypy and IDEs
bucket_exists_waiter: BucketExistsWaiter = client.get_waiter("bucket_exists")
bucket_not_exists_waiter: BucketNotExistsWaiter = client.get_waiter("bucket_not_exists")
object_exists_waiter: ObjectExistsWaiter = client.get_waiter("object_exists")
object_not_exists_waiter: ObjectNotExistsWaiter = client.get_waiter("object_not_exists")
S3ServiceResource provides annotations for boto3.resource("s3").
from boto3.session import Session
from mypy_boto3_s3 import S3ServiceResource
resource: S3ServiceResource = Session().resource("s3")
# now resource usage is checked by mypy and IDE should provide code completion
mypy_boto3_s3.service_resource module contains type annotations for all
resources.
from boto3.session import Session
from mypy_boto3_s3 import S3ServiceResource
from mypy_boto3_s3.service_resource import (
Bucket,
BucketAcl,
BucketCors,
BucketLifecycle,
BucketLifecycleConfiguration,
BucketLogging,
BucketNotification,
BucketPolicy,
BucketRequestPayment,
BucketTagging,
BucketVersioning,
BucketWebsite,
MultipartUpload,
MultipartUploadPart,
Object,
ObjectAcl,
ObjectSummary,
ObjectVersion,
)
resource: S3ServiceResource = Session().resource("s3")
# Explicit type annotations are optional here
# Type should be correctly discovered by mypy and IDEs
my_bucket: Bucket = resource.Bucket(...)
my_bucket_acl: BucketAcl = resource.BucketAcl(...)
my_bucket_cors: BucketCors = resource.BucketCors(...)
my_bucket_lifecycle: BucketLifecycle = resource.BucketLifecycle(...)
my_bucket_lifecycle_configuration: BucketLifecycleConfiguration = (
resource.BucketLifecycleConfiguration(...)
)
my_bucket_logging: BucketLogging = resource.BucketLogging(...)
my_bucket_notification: BucketNotification = resource.BucketNotification(...)
my_bucket_policy: BucketPolicy = resource.BucketPolicy(...)
my_bucket_request_payment: BucketRequestPayment = resource.BucketRequestPayment(...)
my_bucket_tagging: BucketTagging = resource.BucketTagging(...)
my_bucket_versioning: BucketVersioning = resource.BucketVersioning(...)
my_bucket_website: BucketWebsite = resource.BucketWebsite(...)
my_multipart_upload: MultipartUpload = resource.MultipartUpload(...)
my_multipart_upload_part: MultipartUploadPart = resource.MultipartUploadPart(...)
my_object: Object = resource.Object(...)
my_object_acl: ObjectAcl = resource.ObjectAcl(...)
my_object_summary: ObjectSummary = resource.ObjectSummary(...)
my_object_version: ObjectVersion = resource.ObjectVersion(...)
mypy_boto3_s3.service_resource module contains type annotations for all
S3ServiceResource collections.
from boto3.session import Session
from mypy_boto3_s3 import S3ServiceResource
from mypy_boto3_s3.service_resource import ServiceResourceBucketsCollection
resource: S3ServiceResource = Session().resource("s3")
# Explicit type annotations are optional here
# Type should be correctly discovered by mypy and IDEs
buckets: s3_resources.ServiceResourceBucketsCollection = resource.buckets
mypy_boto3_s3.literals module contains literals extracted from shapes that
can be used in user code for type checking.
Full list of S3 Literals can be found in
docs.
from mypy_boto3_s3.literals import AnalyticsS3ExportFileFormatType
def check_value(value: AnalyticsS3ExportFileFormatType) -> bool: ...
mypy_boto3_s3.type_defs module contains structures and shapes assembled to
typed dictionaries and unions for additional type checking.
Full list of S3 TypeDefs can be found in
docs.
from mypy_boto3_s3.type_defs import AbortIncompleteMultipartUploadTypeDef
def get_value() -> AbortIncompleteMultipartUploadTypeDef:
return {...}
Fully automated
mypy-boto3-builder carefully
generates type annotations for each service, patiently waiting for boto3
updates. It delivers drop-in type annotations for you and makes sure that:
boto3 services are covered.boto3 service gets valid type
annotations extracted from botocore schemas.boto3, botocore, aiobotocore and aioboto3
librariesmypy, pyright, VSCode, PyCharm, Sublime Text and Emacs
compatibilityClient, ServiceResource, Resource, Waiter Paginator type
annotations for each serviceTypeDefs for each serviceLiterals for each serviceboto3.client and boto3.resource callssession.client and session.resource callsclient.get_waiter and client.get_paginator
callsServiceResource and Resource collectionsaiobotocore.Session.create_client callsBuilder changelog can be found in Releases.
mypy-boto3-s3 version is the same as related boto3 version and follows
PEP 440 format.
All services type annotations can be found in boto3 docs
This package is auto-generated. Please reports any bugs or request new features in mypy-boto3-builder repository.