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-stubs
Type 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 mypy
boto3-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 pyright
boto3-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.