%global _empty_manifest_terminate_build 0
Name: python-mypy-boto3-s3
Version: 1.26.104
Release: 1
Summary: Type annotations for boto3.S3 1.26.104 service generated with mypy-boto3-builder 7.14.5
License: MIT License
URL: https://github.com/youtype/mypy_boto3_builder
Source0: https://mirrors.nju.edu.cn/pypi/web/packages/16/5b/97dc29ff1d91a22d2e64cb4e41a03c21a8497f310a986274437472e1d113/mypy-boto3-s3-1.26.104.tar.gz
BuildArch: noarch
Requires: python3-typing-extensions
%description
# mypy-boto3-s3
[](https://pypi.org/project/mypy-boto3-s3)
[](https://pypi.org/project/mypy-boto3-s3)
[](https://youtype.github.io/boto3_stubs_docs/mypy_boto3_s3/)
[](https://pypistats.org/packages/mypy-boto3-s3)

Type annotations for
[boto3.S3 1.26.104](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/s3.html#S3)
service compatible with [VSCode](https://code.visualstudio.com/),
[PyCharm](https://www.jetbrains.com/pycharm/),
[Emacs](https://www.gnu.org/software/emacs/),
[Sublime Text](https://www.sublimetext.com/),
[mypy](https://github.com/python/mypy),
[pyright](https://github.com/microsoft/pyright) and other tools.
Generated by
[mypy-boto3-builder 7.14.5](https://github.com/youtype/mypy_boto3_builder).
More information can be found on
[boto3-stubs](https://pypi.org/project/boto3-stubs/) page and in
[mypy-boto3-s3 docs](https://youtype.github.io/boto3_stubs_docs/mypy_boto3_s3/).
See how it helps to find and fix potential bugs:

- [mypy-boto3-s3](#mypy-boto3-s3)
- [How to install](#how-to-install)
- [VSCode extension](#vscode-extension)
- [From PyPI with pip](#from-pypi-with-pip)
- [From conda-forge](#from-conda-forge)
- [How to uninstall](#how-to-uninstall)
- [Usage](#usage)
- [VSCode](#vscode)
- [PyCharm](#pycharm)
- [Emacs](#emacs)
- [Sublime Text](#sublime-text)
- [Other IDEs](#other-ides)
- [mypy](#mypy)
- [pyright](#pyright)
- [Explicit type annotations](#explicit-type-annotations)
- [Client annotations](#client-annotations)
- [Paginators annotations](#paginators-annotations)
- [Waiters annotations](#waiters-annotations)
- [Service Resource annotations](#service-resource-annotations)
- [Other resources annotations](#other-resources-annotations)
- [Collections annotations](#collections-annotations)
- [Literals](#literals)
- [Typed dictionaries](#typed-dictionaries)
- [How it works](#how-it-works)
- [What's new](#what's-new)
- [Implemented features](#implemented-features)
- [Latest changes](#latest-changes)
- [Versioning](#versioning)
- [Thank you](#thank-you)
- [Documentation](#documentation)
- [Support and contributing](#support-and-contributing)
## How to install
### VSCode extension
Add
[AWS Boto3](https://marketplace.visualstudio.com/items?itemName=Boto3typed.boto3-ide)
extension to your VSCode and run `AWS boto3: Quick Start` command.
Click `Modify` and select `boto3 common` and `S3`.
### From PyPI with pip
Install `boto3-stubs` for `S3` service.
```bash
# 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
```
### From conda-forge
Installing `mypy-boto3-s3` from the `conda-forge` channel can be achieved by
adding `conda-forge` to your channels with:
```bash
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:
```bash
conda install mypy-boto3-s3
```
It is possible to list all of the versions of `mypy-boto3-s3` available on your
platform with:
```bash
conda search mypy-boto3-s3 --channel conda-forge
```
## How to uninstall
```bash
python -m pip uninstall -y mypy-boto3-s3
```
## Usage
### VSCode
- Install
[Python extension](https://marketplace.visualstudio.com/items?itemName=ms-python.python)
- Install
[Pylance extension](https://marketplace.visualstudio.com/items?itemName=ms-python.vscode-pylance)
- Set `Pylance` as your Python Language Server
- Install `boto3-stubs[s3]` in your environment:
```bash
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.
### PyCharm
Install `boto3-stubs-lite[s3]` in your environment:
```bash
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.
### Emacs
- Install `boto3-stubs` with services you use in your environment:
```bash
python -m pip install 'boto3-stubs[s3]'
```
- Install [use-package](https://github.com/jwiegley/use-package),
[lsp](https://github.com/emacs-lsp/lsp-mode/),
[company](https://github.com/company-mode/company-mode) and
[flycheck](https://github.com/flycheck/flycheck) packages
- Install [lsp-pyright](https://github.com/emacs-lsp/lsp-pyright) package
```elisp
(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"))
)
```
- Make sure emacs uses the environment where you have installed `boto3-stubs`
Type checking should now work. No explicit type annotations required, write
your `boto3` code as usual.
### Sublime Text
- Install `boto3-stubs[s3]` with services you use in your environment:
```bash
python -m pip install 'boto3-stubs[s3]'
```
- Install [LSP-pyright](https://github.com/sublimelsp/LSP-pyright) package
Type checking should now work. No explicit type annotations required, write
your `boto3` code as usual.
### Other IDEs
Not tested, but as long as your IDE supports `mypy` or `pyright`, everything
should work.
### mypy
- Install `mypy`: `python -m pip install mypy`
- Install `boto3-stubs[s3]` in your environment:
```bash
python -m pip install 'boto3-stubs[s3]'`
```
Type checking should now work. No explicit type annotations required, write
your `boto3` code as usual.
### pyright
- Install `pyright`: `npm i -g pyright`
- Install `boto3-stubs[s3]` in your environment:
```bash
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.
## Explicit type annotations
### Client annotations
`S3Client` provides annotations for `boto3.client("s3")`.
```python
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
```
### Paginators annotations
`mypy_boto3_s3.paginator` module contains type annotations for all paginators.
```python
from boto3.session import Session
from mypy_boto3_s3 import S3Client
from mypy_boto3_s3.paginator import (
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_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")
```
### Waiters annotations
`mypy_boto3_s3.waiter` module contains type annotations for all waiters.
```python
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")
```
### Service Resource annotations
`S3ServiceResource` provides annotations for `boto3.resource("s3")`.
```python
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
```
### Other resources annotations
`mypy_boto3_s3.service_resource` module contains type annotations for all
resources.
```python
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(...)
```
### Collections annotations
`mypy_boto3_s3.service_resource` module contains type annotations for all
`S3ServiceResource` collections.
```python
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
```
### Literals
`mypy_boto3_s3.literals` module contains literals extracted from shapes that
can be used in user code for type checking.
```python
from mypy_boto3_s3.literals import (
AnalyticsS3ExportFileFormatType,
ArchiveStatusType,
BucketAccelerateStatusType,
BucketCannedACLType,
BucketExistsWaiterName,
BucketLocationConstraintType,
BucketLogsPermissionType,
BucketNotExistsWaiterName,
BucketVersioningStatusType,
ChecksumAlgorithmType,
ChecksumModeType,
CompressionTypeType,
DeleteMarkerReplicationStatusType,
EncodingTypeType,
EventType,
ExistingObjectReplicationStatusType,
ExpirationStatusType,
ExpressionTypeType,
FileHeaderInfoType,
FilterRuleNameType,
IntelligentTieringAccessTierType,
IntelligentTieringStatusType,
InventoryFormatType,
InventoryFrequencyType,
InventoryIncludedObjectVersionsType,
InventoryOptionalFieldType,
JSONTypeType,
ListMultipartUploadsPaginatorName,
ListObjectVersionsPaginatorName,
ListObjectsPaginatorName,
ListObjectsV2PaginatorName,
ListPartsPaginatorName,
MFADeleteStatusType,
MFADeleteType,
MetadataDirectiveType,
MetricsStatusType,
ObjectAttributesType,
ObjectCannedACLType,
ObjectExistsWaiterName,
ObjectLockEnabledType,
ObjectLockLegalHoldStatusType,
ObjectLockModeType,
ObjectLockRetentionModeType,
ObjectNotExistsWaiterName,
ObjectOwnershipType,
ObjectStorageClassType,
ObjectVersionStorageClassType,
OwnerOverrideType,
PayerType,
PermissionType,
ProtocolType,
QuoteFieldsType,
ReplicaModificationsStatusType,
ReplicationRuleStatusType,
ReplicationStatusType,
ReplicationTimeStatusType,
RequestChargedType,
RequestPayerType,
RestoreRequestTypeType,
ServerSideEncryptionType,
SseKmsEncryptedObjectsStatusType,
StorageClassAnalysisSchemaVersionType,
StorageClassType,
TaggingDirectiveType,
TierType,
TransitionStorageClassType,
TypeType,
S3ServiceName,
ServiceName,
ResourceServiceName,
PaginatorName,
WaiterName,
RegionName,
)
def check_value(value: AnalyticsS3ExportFileFormatType) -> bool:
...
```
### Typed dictionaries
`mypy_boto3_s3.type_defs` module contains structures and shapes assembled to
typed dictionaries for additional type checking.
```python
from mypy_boto3_s3.type_defs import (
AbortIncompleteMultipartUploadTypeDef,
ResponseMetadataTypeDef,
AbortMultipartUploadRequestMultipartUploadAbortTypeDef,
AbortMultipartUploadRequestRequestTypeDef,
AccelerateConfigurationTypeDef,
OwnerTypeDef,
AccessControlTranslationTypeDef,
TagTypeDef,
AnalyticsS3BucketDestinationTypeDef,
CopySourceTypeDef,
BucketDownloadFileRequestTypeDef,
BucketDownloadFileobjRequestTypeDef,
BucketTypeDef,
BucketUploadFileRequestTypeDef,
BucketUploadFileobjRequestTypeDef,
CORSRuleTypeDef,
CSVInputTypeDef,
CSVOutputTypeDef,
ChecksumTypeDef,
ClientDownloadFileRequestTypeDef,
ClientDownloadFileobjRequestTypeDef,
ClientGeneratePresignedPostRequestTypeDef,
ClientUploadFileRequestTypeDef,
ClientUploadFileobjRequestTypeDef,
CloudFunctionConfigurationTypeDef,
CommonPrefixTypeDef,
CompletedPartTypeDef,
ConditionTypeDef,
CopyObjectResultTypeDef,
CopyObjectRequestObjectCopyFromTypeDef,
CopyObjectRequestObjectSummaryCopyFromTypeDef,
CopyPartResultTypeDef,
CreateBucketConfigurationTypeDef,
CreateMultipartUploadRequestObjectInitiateMultipartUploadTypeDef,
CreateMultipartUploadRequestObjectSummaryInitiateMultipartUploadTypeDef,
CreateMultipartUploadRequestRequestTypeDef,
DefaultRetentionTypeDef,
DeleteBucketAnalyticsConfigurationRequestRequestTypeDef,
DeleteBucketCorsRequestBucketCorsDeleteTypeDef,
DeleteBucketCorsRequestRequestTypeDef,
DeleteBucketEncryptionRequestRequestTypeDef,
DeleteBucketIntelligentTieringConfigurationRequestRequestTypeDef,
DeleteBucketInventoryConfigurationRequestRequestTypeDef,
DeleteBucketLifecycleRequestBucketLifecycleConfigurationDeleteTypeDef,
DeleteBucketLifecycleRequestBucketLifecycleDeleteTypeDef,
DeleteBucketLifecycleRequestRequestTypeDef,
DeleteBucketMetricsConfigurationRequestRequestTypeDef,
DeleteBucketOwnershipControlsRequestRequestTypeDef,
DeleteBucketPolicyRequestBucketPolicyDeleteTypeDef,
DeleteBucketPolicyRequestRequestTypeDef,
DeleteBucketReplicationRequestRequestTypeDef,
DeleteBucketRequestBucketDeleteTypeDef,
DeleteBucketRequestRequestTypeDef,
DeleteBucketTaggingRequestBucketTaggingDeleteTypeDef,
DeleteBucketTaggingRequestRequestTypeDef,
DeleteBucketWebsiteRequestBucketWebsiteDeleteTypeDef,
DeleteBucketWebsiteRequestRequestTypeDef,
DeleteMarkerReplicationTypeDef,
DeleteObjectRequestObjectDeleteTypeDef,
DeleteObjectRequestObjectSummaryDeleteTypeDef,
DeleteObjectRequestObjectVersionDeleteTypeDef,
DeleteObjectRequestRequestTypeDef,
DeleteObjectTaggingRequestRequestTypeDef,
DeletedObjectTypeDef,
ErrorTypeDef,
DeletePublicAccessBlockRequestRequestTypeDef,
ObjectIdentifierTypeDef,
EncryptionConfigurationTypeDef,
EncryptionTypeDef,
ErrorDocumentTypeDef,
ExistingObjectReplicationTypeDef,
FilterRuleTypeDef,
GetBucketAccelerateConfigurationRequestRequestTypeDef,
GetBucketAclRequestRequestTypeDef,
GetBucketAnalyticsConfigurationRequestRequestTypeDef,
GetBucketCorsRequestRequestTypeDef,
GetBucketEncryptionRequestRequestTypeDef,
GetBucketIntelligentTieringConfigurationRequestRequestTypeDef,
GetBucketInventoryConfigurationRequestRequestTypeDef,
GetBucketLifecycleConfigurationRequestRequestTypeDef,
GetBucketLifecycleRequestRequestTypeDef,
GetBucketLocationRequestRequestTypeDef,
GetBucketLoggingRequestRequestTypeDef,
GetBucketMetricsConfigurationRequestRequestTypeDef,
GetBucketNotificationConfigurationRequestRequestTypeDef,
GetBucketOwnershipControlsRequestRequestTypeDef,
GetBucketPolicyRequestRequestTypeDef,
PolicyStatusTypeDef,
GetBucketPolicyStatusRequestRequestTypeDef,
GetBucketReplicationRequestRequestTypeDef,
GetBucketRequestPaymentRequestRequestTypeDef,
GetBucketTaggingRequestRequestTypeDef,
GetBucketVersioningRequestRequestTypeDef,
IndexDocumentTypeDef,
RedirectAllRequestsToTypeDef,
GetBucketWebsiteRequestRequestTypeDef,
GetObjectAclRequestRequestTypeDef,
ObjectPartTypeDef,
GetObjectAttributesRequestRequestTypeDef,
ObjectLockLegalHoldTypeDef,
GetObjectLegalHoldRequestRequestTypeDef,
GetObjectLockConfigurationRequestRequestTypeDef,
GetObjectRequestObjectGetTypeDef,
GetObjectRequestObjectSummaryGetTypeDef,
GetObjectRequestObjectVersionGetTypeDef,
GetObjectRequestRequestTypeDef,
ObjectLockRetentionTypeDef,
GetObjectRetentionRequestRequestTypeDef,
GetObjectTaggingRequestRequestTypeDef,
GetObjectTorrentRequestRequestTypeDef,
PublicAccessBlockConfigurationTypeDef,
GetPublicAccessBlockRequestRequestTypeDef,
GlacierJobParametersTypeDef,
GranteeTypeDef,
WaiterConfigTypeDef,
HeadBucketRequestRequestTypeDef,
HeadObjectRequestObjectVersionHeadTypeDef,
HeadObjectRequestRequestTypeDef,
InitiatorTypeDef,
JSONInputTypeDef,
TieringTypeDef,
InventoryFilterTypeDef,
InventoryScheduleTypeDef,
SSEKMSTypeDef,
JSONOutputTypeDef,
LifecycleExpirationTypeDef,
NoncurrentVersionExpirationTypeDef,
NoncurrentVersionTransitionTypeDef,
TransitionTypeDef,
ListBucketAnalyticsConfigurationsRequestRequestTypeDef,
ListBucketIntelligentTieringConfigurationsRequestRequestTypeDef,
ListBucketInventoryConfigurationsRequestRequestTypeDef,
ListBucketMetricsConfigurationsRequestRequestTypeDef,
PaginatorConfigTypeDef,
ListMultipartUploadsRequestRequestTypeDef,
ListObjectVersionsRequestRequestTypeDef,
ListObjectsRequestRequestTypeDef,
ListObjectsV2RequestRequestTypeDef,
PartTypeDef,
ListPartsRequestRequestTypeDef,
MetadataEntryTypeDef,
ReplicationTimeValueTypeDef,
QueueConfigurationDeprecatedTypeDef,
TopicConfigurationDeprecatedTypeDef,
ObjectDownloadFileRequestTypeDef,
ObjectDownloadFileobjRequestTypeDef,
ObjectUploadFileRequestTypeDef,
ObjectUploadFileobjRequestTypeDef,
OwnershipControlsRuleTypeDef,
ProgressTypeDef,
PutBucketPolicyRequestBucketPolicyPutTypeDef,
PutBucketPolicyRequestRequestTypeDef,
RequestPaymentConfigurationTypeDef,
PutBucketVersioningRequestBucketVersioningEnableTypeDef,
VersioningConfigurationTypeDef,
PutBucketVersioningRequestBucketVersioningSuspendTypeDef,
PutObjectRequestBucketPutObjectTypeDef,
PutObjectRequestObjectPutTypeDef,
PutObjectRequestObjectSummaryPutTypeDef,
PutObjectRequestRequestTypeDef,
RecordsEventTypeDef,
RedirectTypeDef,
ReplicaModificationsTypeDef,
RequestProgressTypeDef,
ScanRangeTypeDef,
ServerSideEncryptionByDefaultTypeDef,
SseKmsEncryptedObjectsTypeDef,
StatsTypeDef,
UploadPartRequestMultipartUploadPartUploadTypeDef,
UploadPartRequestRequestTypeDef,
WriteGetObjectResponseRequestRequestTypeDef,
AbortMultipartUploadOutputTypeDef,
CompleteMultipartUploadOutputTypeDef,
CreateBucketOutputTypeDef,
CreateMultipartUploadOutputTypeDef,
DeleteObjectOutputTypeDef,
DeleteObjectTaggingOutputTypeDef,
EmptyResponseMetadataTypeDef,
ErrorDocumentResponseMetadataTypeDef,
GetBucketAccelerateConfigurationOutputTypeDef,
GetBucketLocationOutputTypeDef,
GetBucketPolicyOutputTypeDef,
GetBucketRequestPaymentOutputTypeDef,
GetBucketVersioningOutputTypeDef,
GetObjectOutputTypeDef,
GetObjectTorrentOutputTypeDef,
HeadObjectOutputTypeDef,
IndexDocumentResponseMetadataTypeDef,
InitiatorResponseMetadataTypeDef,
OwnerResponseMetadataTypeDef,
PutObjectAclOutputTypeDef,
PutObjectLegalHoldOutputTypeDef,
PutObjectLockConfigurationOutputTypeDef,
PutObjectOutputTypeDef,
PutObjectRetentionOutputTypeDef,
PutObjectTaggingOutputTypeDef,
RedirectAllRequestsToResponseMetadataTypeDef,
RestoreObjectOutputTypeDef,
UploadPartOutputTypeDef,
PutBucketAccelerateConfigurationRequestRequestTypeDef,
DeleteMarkerEntryTypeDef,
ObjectTypeDef,
ObjectVersionTypeDef,
AnalyticsAndOperatorTypeDef,
GetBucketTaggingOutputTypeDef,
GetObjectTaggingOutputTypeDef,
IntelligentTieringAndOperatorTypeDef,
LifecycleRuleAndOperatorTypeDef,
MetricsAndOperatorTypeDef,
ReplicationRuleAndOperatorTypeDef,
TaggingTypeDef,
AnalyticsExportDestinationTypeDef,
BucketCopyRequestTypeDef,
ClientCopyRequestTypeDef,
CopyObjectRequestRequestTypeDef,
ObjectCopyRequestTypeDef,
UploadPartCopyRequestMultipartUploadPartCopyFromTypeDef,
UploadPartCopyRequestRequestTypeDef,
ListBucketsOutputTypeDef,
CORSConfigurationTypeDef,
GetBucketCorsOutputTypeDef,
CompletedMultipartUploadTypeDef,
CopyObjectOutputTypeDef,
UploadPartCopyOutputTypeDef,
CreateBucketRequestBucketCreateTypeDef,
CreateBucketRequestRequestTypeDef,
CreateBucketRequestServiceResourceCreateBucketTypeDef,
ObjectLockRuleTypeDef,
DeleteObjectsOutputTypeDef,
DeleteTypeDef,
S3KeyFilterTypeDef,
GetBucketPolicyStatusOutputTypeDef,
GetObjectAttributesPartsTypeDef,
GetObjectLegalHoldOutputTypeDef,
PutObjectLegalHoldRequestRequestTypeDef,
GetObjectRetentionOutputTypeDef,
PutObjectRetentionRequestRequestTypeDef,
GetPublicAccessBlockOutputTypeDef,
PutPublicAccessBlockRequestRequestTypeDef,
GrantTypeDef,
TargetGrantTypeDef,
HeadBucketRequestBucketExistsWaitTypeDef,
HeadBucketRequestBucketNotExistsWaitTypeDef,
HeadObjectRequestObjectExistsWaitTypeDef,
HeadObjectRequestObjectNotExistsWaitTypeDef,
MultipartUploadTypeDef,
InputSerializationTypeDef,
InventoryEncryptionTypeDef,
OutputSerializationTypeDef,
RuleTypeDef,
ListMultipartUploadsRequestListMultipartUploadsPaginateTypeDef,
ListObjectVersionsRequestListObjectVersionsPaginateTypeDef,
ListObjectsRequestListObjectsPaginateTypeDef,
ListObjectsV2RequestListObjectsV2PaginateTypeDef,
ListPartsRequestListPartsPaginateTypeDef,
ListPartsOutputTypeDef,
MetricsTypeDef,
ReplicationTimeTypeDef,
NotificationConfigurationDeprecatedResponseMetadataTypeDef,
NotificationConfigurationDeprecatedTypeDef,
OwnershipControlsTypeDef,
ProgressEventTypeDef,
PutBucketRequestPaymentRequestBucketRequestPaymentPutTypeDef,
PutBucketRequestPaymentRequestRequestTypeDef,
PutBucketVersioningRequestBucketVersioningPutTypeDef,
PutBucketVersioningRequestRequestTypeDef,
RoutingRuleTypeDef,
ServerSideEncryptionRuleTypeDef,
SourceSelectionCriteriaTypeDef,
StatsEventTypeDef,
ListObjectsOutputTypeDef,
ListObjectsV2OutputTypeDef,
ListObjectVersionsOutputTypeDef,
AnalyticsFilterTypeDef,
IntelligentTieringFilterTypeDef,
LifecycleRuleFilterTypeDef,
MetricsFilterTypeDef,
ReplicationRuleFilterTypeDef,
PutBucketTaggingRequestBucketTaggingPutTypeDef,
PutBucketTaggingRequestRequestTypeDef,
PutObjectTaggingRequestRequestTypeDef,
StorageClassAnalysisDataExportTypeDef,
PutBucketCorsRequestBucketCorsPutTypeDef,
PutBucketCorsRequestRequestTypeDef,
CompleteMultipartUploadRequestMultipartUploadCompleteTypeDef,
CompleteMultipartUploadRequestRequestTypeDef,
ObjectLockConfigurationTypeDef,
DeleteObjectsRequestBucketDeleteObjectsTypeDef,
DeleteObjectsRequestRequestTypeDef,
NotificationConfigurationFilterTypeDef,
GetObjectAttributesOutputTypeDef,
AccessControlPolicyTypeDef,
GetBucketAclOutputTypeDef,
GetObjectAclOutputTypeDef,
S3LocationTypeDef,
LoggingEnabledResponseMetadataTypeDef,
LoggingEnabledTypeDef,
ListMultipartUploadsOutputTypeDef,
InventoryS3BucketDestinationTypeDef,
SelectObjectContentRequestRequestTypeDef,
SelectParametersTypeDef,
GetBucketLifecycleOutputTypeDef,
LifecycleConfigurationTypeDef,
DestinationTypeDef,
PutBucketNotificationRequestRequestTypeDef,
GetBucketOwnershipControlsOutputTypeDef,
PutBucketOwnershipControlsRequestRequestTypeDef,
GetBucketWebsiteOutputTypeDef,
WebsiteConfigurationTypeDef,
ServerSideEncryptionConfigurationTypeDef,
SelectObjectContentEventStreamTypeDef,
IntelligentTieringConfigurationTypeDef,
LifecycleRuleTypeDef,
MetricsConfigurationTypeDef,
StorageClassAnalysisTypeDef,
GetObjectLockConfigurationOutputTypeDef,
PutObjectLockConfigurationRequestRequestTypeDef,
LambdaFunctionConfigurationTypeDef,
QueueConfigurationTypeDef,
TopicConfigurationTypeDef,
PutBucketAclRequestBucketAclPutTypeDef,
PutBucketAclRequestRequestTypeDef,
PutObjectAclRequestObjectAclPutTypeDef,
PutObjectAclRequestRequestTypeDef,
OutputLocationTypeDef,
BucketLoggingStatusTypeDef,
GetBucketLoggingOutputTypeDef,
InventoryDestinationTypeDef,
PutBucketLifecycleRequestBucketLifecyclePutTypeDef,
PutBucketLifecycleRequestRequestTypeDef,
ReplicationRuleTypeDef,
PutBucketWebsiteRequestBucketWebsitePutTypeDef,
PutBucketWebsiteRequestRequestTypeDef,
GetBucketEncryptionOutputTypeDef,
PutBucketEncryptionRequestRequestTypeDef,
SelectObjectContentOutputTypeDef,
GetBucketIntelligentTieringConfigurationOutputTypeDef,
ListBucketIntelligentTieringConfigurationsOutputTypeDef,
PutBucketIntelligentTieringConfigurationRequestRequestTypeDef,
BucketLifecycleConfigurationTypeDef,
GetBucketLifecycleConfigurationOutputTypeDef,
GetBucketMetricsConfigurationOutputTypeDef,
ListBucketMetricsConfigurationsOutputTypeDef,
PutBucketMetricsConfigurationRequestRequestTypeDef,
AnalyticsConfigurationTypeDef,
NotificationConfigurationResponseMetadataTypeDef,
NotificationConfigurationTypeDef,
RestoreRequestTypeDef,
PutBucketLoggingRequestBucketLoggingPutTypeDef,
PutBucketLoggingRequestRequestTypeDef,
InventoryConfigurationTypeDef,
ReplicationConfigurationTypeDef,
PutBucketLifecycleConfigurationRequestBucketLifecycleConfigurationPutTypeDef,
PutBucketLifecycleConfigurationRequestRequestTypeDef,
GetBucketAnalyticsConfigurationOutputTypeDef,
ListBucketAnalyticsConfigurationsOutputTypeDef,
PutBucketAnalyticsConfigurationRequestRequestTypeDef,
PutBucketNotificationConfigurationRequestBucketNotificationPutTypeDef,
PutBucketNotificationConfigurationRequestRequestTypeDef,
RestoreObjectRequestObjectRestoreObjectTypeDef,
RestoreObjectRequestObjectSummaryRestoreObjectTypeDef,
RestoreObjectRequestRequestTypeDef,
GetBucketInventoryConfigurationOutputTypeDef,
ListBucketInventoryConfigurationsOutputTypeDef,
PutBucketInventoryConfigurationRequestRequestTypeDef,
GetBucketReplicationOutputTypeDef,
PutBucketReplicationRequestRequestTypeDef,
)
def get_structure() -> AbortIncompleteMultipartUploadTypeDef:
return {...}
```
## How it works
Fully automated
[mypy-boto3-builder](https://github.com/youtype/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:
- All available `boto3` services are covered.
- Each public class and method of every `boto3` service gets valid type
annotations extracted from `botocore` schemas.
- Type annotations include up-to-date documentation.
- Link to documentation is provided for every method.
- Code is processed by [black](https://github.com/psf/black) and
[isort](https://github.com/PyCQA/isort) for readability.
## What's new
### Implemented features
- Fully type annotated `boto3`, `botocore`, `aiobotocore` and `aioboto3`
libraries
- `mypy`, `pyright`, `VSCode`, `PyCharm`, `Sublime Text` and `Emacs`
compatibility
- `Client`, `ServiceResource`, `Resource`, `Waiter` `Paginator` type
annotations for each service
- Generated `TypeDefs` for each service
- Generated `Literals` for each service
- Auto discovery of types for `boto3.client` and `boto3.resource` calls
- Auto discovery of types for `session.client` and `session.resource` calls
- Auto discovery of types for `client.get_waiter` and `client.get_paginator`
calls
- Auto discovery of types for `ServiceResource` and `Resource` collections
- Auto discovery of types for `aiobotocore.Session.create_client` calls
### Latest changes
Builder changelog can be found in
[Releases](https://github.com/youtype/mypy_boto3_builder/releases).
## Versioning
`mypy-boto3-s3` version is the same as related `boto3` version and follows
[PEP 440](https://www.python.org/dev/peps/pep-0440/) format.
## Thank you
- [Allie Fitter](https://github.com/alliefitter) for
[boto3-type-annotations](https://pypi.org/project/boto3-type-annotations/),
this package is based on top of his work
- [black](https://github.com/psf/black) developers for an awesome formatting
tool
- [Timothy Edmund Crosley](https://github.com/timothycrosley) for
[isort](https://github.com/PyCQA/isort) and how flexible it is
- [mypy](https://github.com/python/mypy) developers for doing all dirty work
for us
- [pyright](https://github.com/microsoft/pyright) team for the new era of typed
Python
## Documentation
All services type annotations can be found in
[boto3 docs](https://youtype.github.io/boto3_stubs_docs/mypy_boto3_s3/)
## Support and contributing
This package is auto-generated. Please reports any bugs or request new features
in [mypy-boto3-builder](https://github.com/youtype/mypy_boto3_builder/issues/)
repository.
%package -n python3-mypy-boto3-s3
Summary: Type annotations for boto3.S3 1.26.104 service generated with mypy-boto3-builder 7.14.5
Provides: python-mypy-boto3-s3
BuildRequires: python3-devel
BuildRequires: python3-setuptools
BuildRequires: python3-pip
%description -n python3-mypy-boto3-s3
# mypy-boto3-s3
[](https://pypi.org/project/mypy-boto3-s3)
[](https://pypi.org/project/mypy-boto3-s3)
[](https://youtype.github.io/boto3_stubs_docs/mypy_boto3_s3/)
[](https://pypistats.org/packages/mypy-boto3-s3)

Type annotations for
[boto3.S3 1.26.104](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/s3.html#S3)
service compatible with [VSCode](https://code.visualstudio.com/),
[PyCharm](https://www.jetbrains.com/pycharm/),
[Emacs](https://www.gnu.org/software/emacs/),
[Sublime Text](https://www.sublimetext.com/),
[mypy](https://github.com/python/mypy),
[pyright](https://github.com/microsoft/pyright) and other tools.
Generated by
[mypy-boto3-builder 7.14.5](https://github.com/youtype/mypy_boto3_builder).
More information can be found on
[boto3-stubs](https://pypi.org/project/boto3-stubs/) page and in
[mypy-boto3-s3 docs](https://youtype.github.io/boto3_stubs_docs/mypy_boto3_s3/).
See how it helps to find and fix potential bugs:

- [mypy-boto3-s3](#mypy-boto3-s3)
- [How to install](#how-to-install)
- [VSCode extension](#vscode-extension)
- [From PyPI with pip](#from-pypi-with-pip)
- [From conda-forge](#from-conda-forge)
- [How to uninstall](#how-to-uninstall)
- [Usage](#usage)
- [VSCode](#vscode)
- [PyCharm](#pycharm)
- [Emacs](#emacs)
- [Sublime Text](#sublime-text)
- [Other IDEs](#other-ides)
- [mypy](#mypy)
- [pyright](#pyright)
- [Explicit type annotations](#explicit-type-annotations)
- [Client annotations](#client-annotations)
- [Paginators annotations](#paginators-annotations)
- [Waiters annotations](#waiters-annotations)
- [Service Resource annotations](#service-resource-annotations)
- [Other resources annotations](#other-resources-annotations)
- [Collections annotations](#collections-annotations)
- [Literals](#literals)
- [Typed dictionaries](#typed-dictionaries)
- [How it works](#how-it-works)
- [What's new](#what's-new)
- [Implemented features](#implemented-features)
- [Latest changes](#latest-changes)
- [Versioning](#versioning)
- [Thank you](#thank-you)
- [Documentation](#documentation)
- [Support and contributing](#support-and-contributing)
## How to install
### VSCode extension
Add
[AWS Boto3](https://marketplace.visualstudio.com/items?itemName=Boto3typed.boto3-ide)
extension to your VSCode and run `AWS boto3: Quick Start` command.
Click `Modify` and select `boto3 common` and `S3`.
### From PyPI with pip
Install `boto3-stubs` for `S3` service.
```bash
# 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
```
### From conda-forge
Installing `mypy-boto3-s3` from the `conda-forge` channel can be achieved by
adding `conda-forge` to your channels with:
```bash
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:
```bash
conda install mypy-boto3-s3
```
It is possible to list all of the versions of `mypy-boto3-s3` available on your
platform with:
```bash
conda search mypy-boto3-s3 --channel conda-forge
```
## How to uninstall
```bash
python -m pip uninstall -y mypy-boto3-s3
```
## Usage
### VSCode
- Install
[Python extension](https://marketplace.visualstudio.com/items?itemName=ms-python.python)
- Install
[Pylance extension](https://marketplace.visualstudio.com/items?itemName=ms-python.vscode-pylance)
- Set `Pylance` as your Python Language Server
- Install `boto3-stubs[s3]` in your environment:
```bash
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.
### PyCharm
Install `boto3-stubs-lite[s3]` in your environment:
```bash
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.
### Emacs
- Install `boto3-stubs` with services you use in your environment:
```bash
python -m pip install 'boto3-stubs[s3]'
```
- Install [use-package](https://github.com/jwiegley/use-package),
[lsp](https://github.com/emacs-lsp/lsp-mode/),
[company](https://github.com/company-mode/company-mode) and
[flycheck](https://github.com/flycheck/flycheck) packages
- Install [lsp-pyright](https://github.com/emacs-lsp/lsp-pyright) package
```elisp
(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"))
)
```
- Make sure emacs uses the environment where you have installed `boto3-stubs`
Type checking should now work. No explicit type annotations required, write
your `boto3` code as usual.
### Sublime Text
- Install `boto3-stubs[s3]` with services you use in your environment:
```bash
python -m pip install 'boto3-stubs[s3]'
```
- Install [LSP-pyright](https://github.com/sublimelsp/LSP-pyright) package
Type checking should now work. No explicit type annotations required, write
your `boto3` code as usual.
### Other IDEs
Not tested, but as long as your IDE supports `mypy` or `pyright`, everything
should work.
### mypy
- Install `mypy`: `python -m pip install mypy`
- Install `boto3-stubs[s3]` in your environment:
```bash
python -m pip install 'boto3-stubs[s3]'`
```
Type checking should now work. No explicit type annotations required, write
your `boto3` code as usual.
### pyright
- Install `pyright`: `npm i -g pyright`
- Install `boto3-stubs[s3]` in your environment:
```bash
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.
## Explicit type annotations
### Client annotations
`S3Client` provides annotations for `boto3.client("s3")`.
```python
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
```
### Paginators annotations
`mypy_boto3_s3.paginator` module contains type annotations for all paginators.
```python
from boto3.session import Session
from mypy_boto3_s3 import S3Client
from mypy_boto3_s3.paginator import (
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_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")
```
### Waiters annotations
`mypy_boto3_s3.waiter` module contains type annotations for all waiters.
```python
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")
```
### Service Resource annotations
`S3ServiceResource` provides annotations for `boto3.resource("s3")`.
```python
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
```
### Other resources annotations
`mypy_boto3_s3.service_resource` module contains type annotations for all
resources.
```python
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(...)
```
### Collections annotations
`mypy_boto3_s3.service_resource` module contains type annotations for all
`S3ServiceResource` collections.
```python
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
```
### Literals
`mypy_boto3_s3.literals` module contains literals extracted from shapes that
can be used in user code for type checking.
```python
from mypy_boto3_s3.literals import (
AnalyticsS3ExportFileFormatType,
ArchiveStatusType,
BucketAccelerateStatusType,
BucketCannedACLType,
BucketExistsWaiterName,
BucketLocationConstraintType,
BucketLogsPermissionType,
BucketNotExistsWaiterName,
BucketVersioningStatusType,
ChecksumAlgorithmType,
ChecksumModeType,
CompressionTypeType,
DeleteMarkerReplicationStatusType,
EncodingTypeType,
EventType,
ExistingObjectReplicationStatusType,
ExpirationStatusType,
ExpressionTypeType,
FileHeaderInfoType,
FilterRuleNameType,
IntelligentTieringAccessTierType,
IntelligentTieringStatusType,
InventoryFormatType,
InventoryFrequencyType,
InventoryIncludedObjectVersionsType,
InventoryOptionalFieldType,
JSONTypeType,
ListMultipartUploadsPaginatorName,
ListObjectVersionsPaginatorName,
ListObjectsPaginatorName,
ListObjectsV2PaginatorName,
ListPartsPaginatorName,
MFADeleteStatusType,
MFADeleteType,
MetadataDirectiveType,
MetricsStatusType,
ObjectAttributesType,
ObjectCannedACLType,
ObjectExistsWaiterName,
ObjectLockEnabledType,
ObjectLockLegalHoldStatusType,
ObjectLockModeType,
ObjectLockRetentionModeType,
ObjectNotExistsWaiterName,
ObjectOwnershipType,
ObjectStorageClassType,
ObjectVersionStorageClassType,
OwnerOverrideType,
PayerType,
PermissionType,
ProtocolType,
QuoteFieldsType,
ReplicaModificationsStatusType,
ReplicationRuleStatusType,
ReplicationStatusType,
ReplicationTimeStatusType,
RequestChargedType,
RequestPayerType,
RestoreRequestTypeType,
ServerSideEncryptionType,
SseKmsEncryptedObjectsStatusType,
StorageClassAnalysisSchemaVersionType,
StorageClassType,
TaggingDirectiveType,
TierType,
TransitionStorageClassType,
TypeType,
S3ServiceName,
ServiceName,
ResourceServiceName,
PaginatorName,
WaiterName,
RegionName,
)
def check_value(value: AnalyticsS3ExportFileFormatType) -> bool:
...
```
### Typed dictionaries
`mypy_boto3_s3.type_defs` module contains structures and shapes assembled to
typed dictionaries for additional type checking.
```python
from mypy_boto3_s3.type_defs import (
AbortIncompleteMultipartUploadTypeDef,
ResponseMetadataTypeDef,
AbortMultipartUploadRequestMultipartUploadAbortTypeDef,
AbortMultipartUploadRequestRequestTypeDef,
AccelerateConfigurationTypeDef,
OwnerTypeDef,
AccessControlTranslationTypeDef,
TagTypeDef,
AnalyticsS3BucketDestinationTypeDef,
CopySourceTypeDef,
BucketDownloadFileRequestTypeDef,
BucketDownloadFileobjRequestTypeDef,
BucketTypeDef,
BucketUploadFileRequestTypeDef,
BucketUploadFileobjRequestTypeDef,
CORSRuleTypeDef,
CSVInputTypeDef,
CSVOutputTypeDef,
ChecksumTypeDef,
ClientDownloadFileRequestTypeDef,
ClientDownloadFileobjRequestTypeDef,
ClientGeneratePresignedPostRequestTypeDef,
ClientUploadFileRequestTypeDef,
ClientUploadFileobjRequestTypeDef,
CloudFunctionConfigurationTypeDef,
CommonPrefixTypeDef,
CompletedPartTypeDef,
ConditionTypeDef,
CopyObjectResultTypeDef,
CopyObjectRequestObjectCopyFromTypeDef,
CopyObjectRequestObjectSummaryCopyFromTypeDef,
CopyPartResultTypeDef,
CreateBucketConfigurationTypeDef,
CreateMultipartUploadRequestObjectInitiateMultipartUploadTypeDef,
CreateMultipartUploadRequestObjectSummaryInitiateMultipartUploadTypeDef,
CreateMultipartUploadRequestRequestTypeDef,
DefaultRetentionTypeDef,
DeleteBucketAnalyticsConfigurationRequestRequestTypeDef,
DeleteBucketCorsRequestBucketCorsDeleteTypeDef,
DeleteBucketCorsRequestRequestTypeDef,
DeleteBucketEncryptionRequestRequestTypeDef,
DeleteBucketIntelligentTieringConfigurationRequestRequestTypeDef,
DeleteBucketInventoryConfigurationRequestRequestTypeDef,
DeleteBucketLifecycleRequestBucketLifecycleConfigurationDeleteTypeDef,
DeleteBucketLifecycleRequestBucketLifecycleDeleteTypeDef,
DeleteBucketLifecycleRequestRequestTypeDef,
DeleteBucketMetricsConfigurationRequestRequestTypeDef,
DeleteBucketOwnershipControlsRequestRequestTypeDef,
DeleteBucketPolicyRequestBucketPolicyDeleteTypeDef,
DeleteBucketPolicyRequestRequestTypeDef,
DeleteBucketReplicationRequestRequestTypeDef,
DeleteBucketRequestBucketDeleteTypeDef,
DeleteBucketRequestRequestTypeDef,
DeleteBucketTaggingRequestBucketTaggingDeleteTypeDef,
DeleteBucketTaggingRequestRequestTypeDef,
DeleteBucketWebsiteRequestBucketWebsiteDeleteTypeDef,
DeleteBucketWebsiteRequestRequestTypeDef,
DeleteMarkerReplicationTypeDef,
DeleteObjectRequestObjectDeleteTypeDef,
DeleteObjectRequestObjectSummaryDeleteTypeDef,
DeleteObjectRequestObjectVersionDeleteTypeDef,
DeleteObjectRequestRequestTypeDef,
DeleteObjectTaggingRequestRequestTypeDef,
DeletedObjectTypeDef,
ErrorTypeDef,
DeletePublicAccessBlockRequestRequestTypeDef,
ObjectIdentifierTypeDef,
EncryptionConfigurationTypeDef,
EncryptionTypeDef,
ErrorDocumentTypeDef,
ExistingObjectReplicationTypeDef,
FilterRuleTypeDef,
GetBucketAccelerateConfigurationRequestRequestTypeDef,
GetBucketAclRequestRequestTypeDef,
GetBucketAnalyticsConfigurationRequestRequestTypeDef,
GetBucketCorsRequestRequestTypeDef,
GetBucketEncryptionRequestRequestTypeDef,
GetBucketIntelligentTieringConfigurationRequestRequestTypeDef,
GetBucketInventoryConfigurationRequestRequestTypeDef,
GetBucketLifecycleConfigurationRequestRequestTypeDef,
GetBucketLifecycleRequestRequestTypeDef,
GetBucketLocationRequestRequestTypeDef,
GetBucketLoggingRequestRequestTypeDef,
GetBucketMetricsConfigurationRequestRequestTypeDef,
GetBucketNotificationConfigurationRequestRequestTypeDef,
GetBucketOwnershipControlsRequestRequestTypeDef,
GetBucketPolicyRequestRequestTypeDef,
PolicyStatusTypeDef,
GetBucketPolicyStatusRequestRequestTypeDef,
GetBucketReplicationRequestRequestTypeDef,
GetBucketRequestPaymentRequestRequestTypeDef,
GetBucketTaggingRequestRequestTypeDef,
GetBucketVersioningRequestRequestTypeDef,
IndexDocumentTypeDef,
RedirectAllRequestsToTypeDef,
GetBucketWebsiteRequestRequestTypeDef,
GetObjectAclRequestRequestTypeDef,
ObjectPartTypeDef,
GetObjectAttributesRequestRequestTypeDef,
ObjectLockLegalHoldTypeDef,
GetObjectLegalHoldRequestRequestTypeDef,
GetObjectLockConfigurationRequestRequestTypeDef,
GetObjectRequestObjectGetTypeDef,
GetObjectRequestObjectSummaryGetTypeDef,
GetObjectRequestObjectVersionGetTypeDef,
GetObjectRequestRequestTypeDef,
ObjectLockRetentionTypeDef,
GetObjectRetentionRequestRequestTypeDef,
GetObjectTaggingRequestRequestTypeDef,
GetObjectTorrentRequestRequestTypeDef,
PublicAccessBlockConfigurationTypeDef,
GetPublicAccessBlockRequestRequestTypeDef,
GlacierJobParametersTypeDef,
GranteeTypeDef,
WaiterConfigTypeDef,
HeadBucketRequestRequestTypeDef,
HeadObjectRequestObjectVersionHeadTypeDef,
HeadObjectRequestRequestTypeDef,
InitiatorTypeDef,
JSONInputTypeDef,
TieringTypeDef,
InventoryFilterTypeDef,
InventoryScheduleTypeDef,
SSEKMSTypeDef,
JSONOutputTypeDef,
LifecycleExpirationTypeDef,
NoncurrentVersionExpirationTypeDef,
NoncurrentVersionTransitionTypeDef,
TransitionTypeDef,
ListBucketAnalyticsConfigurationsRequestRequestTypeDef,
ListBucketIntelligentTieringConfigurationsRequestRequestTypeDef,
ListBucketInventoryConfigurationsRequestRequestTypeDef,
ListBucketMetricsConfigurationsRequestRequestTypeDef,
PaginatorConfigTypeDef,
ListMultipartUploadsRequestRequestTypeDef,
ListObjectVersionsRequestRequestTypeDef,
ListObjectsRequestRequestTypeDef,
ListObjectsV2RequestRequestTypeDef,
PartTypeDef,
ListPartsRequestRequestTypeDef,
MetadataEntryTypeDef,
ReplicationTimeValueTypeDef,
QueueConfigurationDeprecatedTypeDef,
TopicConfigurationDeprecatedTypeDef,
ObjectDownloadFileRequestTypeDef,
ObjectDownloadFileobjRequestTypeDef,
ObjectUploadFileRequestTypeDef,
ObjectUploadFileobjRequestTypeDef,
OwnershipControlsRuleTypeDef,
ProgressTypeDef,
PutBucketPolicyRequestBucketPolicyPutTypeDef,
PutBucketPolicyRequestRequestTypeDef,
RequestPaymentConfigurationTypeDef,
PutBucketVersioningRequestBucketVersioningEnableTypeDef,
VersioningConfigurationTypeDef,
PutBucketVersioningRequestBucketVersioningSuspendTypeDef,
PutObjectRequestBucketPutObjectTypeDef,
PutObjectRequestObjectPutTypeDef,
PutObjectRequestObjectSummaryPutTypeDef,
PutObjectRequestRequestTypeDef,
RecordsEventTypeDef,
RedirectTypeDef,
ReplicaModificationsTypeDef,
RequestProgressTypeDef,
ScanRangeTypeDef,
ServerSideEncryptionByDefaultTypeDef,
SseKmsEncryptedObjectsTypeDef,
StatsTypeDef,
UploadPartRequestMultipartUploadPartUploadTypeDef,
UploadPartRequestRequestTypeDef,
WriteGetObjectResponseRequestRequestTypeDef,
AbortMultipartUploadOutputTypeDef,
CompleteMultipartUploadOutputTypeDef,
CreateBucketOutputTypeDef,
CreateMultipartUploadOutputTypeDef,
DeleteObjectOutputTypeDef,
DeleteObjectTaggingOutputTypeDef,
EmptyResponseMetadataTypeDef,
ErrorDocumentResponseMetadataTypeDef,
GetBucketAccelerateConfigurationOutputTypeDef,
GetBucketLocationOutputTypeDef,
GetBucketPolicyOutputTypeDef,
GetBucketRequestPaymentOutputTypeDef,
GetBucketVersioningOutputTypeDef,
GetObjectOutputTypeDef,
GetObjectTorrentOutputTypeDef,
HeadObjectOutputTypeDef,
IndexDocumentResponseMetadataTypeDef,
InitiatorResponseMetadataTypeDef,
OwnerResponseMetadataTypeDef,
PutObjectAclOutputTypeDef,
PutObjectLegalHoldOutputTypeDef,
PutObjectLockConfigurationOutputTypeDef,
PutObjectOutputTypeDef,
PutObjectRetentionOutputTypeDef,
PutObjectTaggingOutputTypeDef,
RedirectAllRequestsToResponseMetadataTypeDef,
RestoreObjectOutputTypeDef,
UploadPartOutputTypeDef,
PutBucketAccelerateConfigurationRequestRequestTypeDef,
DeleteMarkerEntryTypeDef,
ObjectTypeDef,
ObjectVersionTypeDef,
AnalyticsAndOperatorTypeDef,
GetBucketTaggingOutputTypeDef,
GetObjectTaggingOutputTypeDef,
IntelligentTieringAndOperatorTypeDef,
LifecycleRuleAndOperatorTypeDef,
MetricsAndOperatorTypeDef,
ReplicationRuleAndOperatorTypeDef,
TaggingTypeDef,
AnalyticsExportDestinationTypeDef,
BucketCopyRequestTypeDef,
ClientCopyRequestTypeDef,
CopyObjectRequestRequestTypeDef,
ObjectCopyRequestTypeDef,
UploadPartCopyRequestMultipartUploadPartCopyFromTypeDef,
UploadPartCopyRequestRequestTypeDef,
ListBucketsOutputTypeDef,
CORSConfigurationTypeDef,
GetBucketCorsOutputTypeDef,
CompletedMultipartUploadTypeDef,
CopyObjectOutputTypeDef,
UploadPartCopyOutputTypeDef,
CreateBucketRequestBucketCreateTypeDef,
CreateBucketRequestRequestTypeDef,
CreateBucketRequestServiceResourceCreateBucketTypeDef,
ObjectLockRuleTypeDef,
DeleteObjectsOutputTypeDef,
DeleteTypeDef,
S3KeyFilterTypeDef,
GetBucketPolicyStatusOutputTypeDef,
GetObjectAttributesPartsTypeDef,
GetObjectLegalHoldOutputTypeDef,
PutObjectLegalHoldRequestRequestTypeDef,
GetObjectRetentionOutputTypeDef,
PutObjectRetentionRequestRequestTypeDef,
GetPublicAccessBlockOutputTypeDef,
PutPublicAccessBlockRequestRequestTypeDef,
GrantTypeDef,
TargetGrantTypeDef,
HeadBucketRequestBucketExistsWaitTypeDef,
HeadBucketRequestBucketNotExistsWaitTypeDef,
HeadObjectRequestObjectExistsWaitTypeDef,
HeadObjectRequestObjectNotExistsWaitTypeDef,
MultipartUploadTypeDef,
InputSerializationTypeDef,
InventoryEncryptionTypeDef,
OutputSerializationTypeDef,
RuleTypeDef,
ListMultipartUploadsRequestListMultipartUploadsPaginateTypeDef,
ListObjectVersionsRequestListObjectVersionsPaginateTypeDef,
ListObjectsRequestListObjectsPaginateTypeDef,
ListObjectsV2RequestListObjectsV2PaginateTypeDef,
ListPartsRequestListPartsPaginateTypeDef,
ListPartsOutputTypeDef,
MetricsTypeDef,
ReplicationTimeTypeDef,
NotificationConfigurationDeprecatedResponseMetadataTypeDef,
NotificationConfigurationDeprecatedTypeDef,
OwnershipControlsTypeDef,
ProgressEventTypeDef,
PutBucketRequestPaymentRequestBucketRequestPaymentPutTypeDef,
PutBucketRequestPaymentRequestRequestTypeDef,
PutBucketVersioningRequestBucketVersioningPutTypeDef,
PutBucketVersioningRequestRequestTypeDef,
RoutingRuleTypeDef,
ServerSideEncryptionRuleTypeDef,
SourceSelectionCriteriaTypeDef,
StatsEventTypeDef,
ListObjectsOutputTypeDef,
ListObjectsV2OutputTypeDef,
ListObjectVersionsOutputTypeDef,
AnalyticsFilterTypeDef,
IntelligentTieringFilterTypeDef,
LifecycleRuleFilterTypeDef,
MetricsFilterTypeDef,
ReplicationRuleFilterTypeDef,
PutBucketTaggingRequestBucketTaggingPutTypeDef,
PutBucketTaggingRequestRequestTypeDef,
PutObjectTaggingRequestRequestTypeDef,
StorageClassAnalysisDataExportTypeDef,
PutBucketCorsRequestBucketCorsPutTypeDef,
PutBucketCorsRequestRequestTypeDef,
CompleteMultipartUploadRequestMultipartUploadCompleteTypeDef,
CompleteMultipartUploadRequestRequestTypeDef,
ObjectLockConfigurationTypeDef,
DeleteObjectsRequestBucketDeleteObjectsTypeDef,
DeleteObjectsRequestRequestTypeDef,
NotificationConfigurationFilterTypeDef,
GetObjectAttributesOutputTypeDef,
AccessControlPolicyTypeDef,
GetBucketAclOutputTypeDef,
GetObjectAclOutputTypeDef,
S3LocationTypeDef,
LoggingEnabledResponseMetadataTypeDef,
LoggingEnabledTypeDef,
ListMultipartUploadsOutputTypeDef,
InventoryS3BucketDestinationTypeDef,
SelectObjectContentRequestRequestTypeDef,
SelectParametersTypeDef,
GetBucketLifecycleOutputTypeDef,
LifecycleConfigurationTypeDef,
DestinationTypeDef,
PutBucketNotificationRequestRequestTypeDef,
GetBucketOwnershipControlsOutputTypeDef,
PutBucketOwnershipControlsRequestRequestTypeDef,
GetBucketWebsiteOutputTypeDef,
WebsiteConfigurationTypeDef,
ServerSideEncryptionConfigurationTypeDef,
SelectObjectContentEventStreamTypeDef,
IntelligentTieringConfigurationTypeDef,
LifecycleRuleTypeDef,
MetricsConfigurationTypeDef,
StorageClassAnalysisTypeDef,
GetObjectLockConfigurationOutputTypeDef,
PutObjectLockConfigurationRequestRequestTypeDef,
LambdaFunctionConfigurationTypeDef,
QueueConfigurationTypeDef,
TopicConfigurationTypeDef,
PutBucketAclRequestBucketAclPutTypeDef,
PutBucketAclRequestRequestTypeDef,
PutObjectAclRequestObjectAclPutTypeDef,
PutObjectAclRequestRequestTypeDef,
OutputLocationTypeDef,
BucketLoggingStatusTypeDef,
GetBucketLoggingOutputTypeDef,
InventoryDestinationTypeDef,
PutBucketLifecycleRequestBucketLifecyclePutTypeDef,
PutBucketLifecycleRequestRequestTypeDef,
ReplicationRuleTypeDef,
PutBucketWebsiteRequestBucketWebsitePutTypeDef,
PutBucketWebsiteRequestRequestTypeDef,
GetBucketEncryptionOutputTypeDef,
PutBucketEncryptionRequestRequestTypeDef,
SelectObjectContentOutputTypeDef,
GetBucketIntelligentTieringConfigurationOutputTypeDef,
ListBucketIntelligentTieringConfigurationsOutputTypeDef,
PutBucketIntelligentTieringConfigurationRequestRequestTypeDef,
BucketLifecycleConfigurationTypeDef,
GetBucketLifecycleConfigurationOutputTypeDef,
GetBucketMetricsConfigurationOutputTypeDef,
ListBucketMetricsConfigurationsOutputTypeDef,
PutBucketMetricsConfigurationRequestRequestTypeDef,
AnalyticsConfigurationTypeDef,
NotificationConfigurationResponseMetadataTypeDef,
NotificationConfigurationTypeDef,
RestoreRequestTypeDef,
PutBucketLoggingRequestBucketLoggingPutTypeDef,
PutBucketLoggingRequestRequestTypeDef,
InventoryConfigurationTypeDef,
ReplicationConfigurationTypeDef,
PutBucketLifecycleConfigurationRequestBucketLifecycleConfigurationPutTypeDef,
PutBucketLifecycleConfigurationRequestRequestTypeDef,
GetBucketAnalyticsConfigurationOutputTypeDef,
ListBucketAnalyticsConfigurationsOutputTypeDef,
PutBucketAnalyticsConfigurationRequestRequestTypeDef,
PutBucketNotificationConfigurationRequestBucketNotificationPutTypeDef,
PutBucketNotificationConfigurationRequestRequestTypeDef,
RestoreObjectRequestObjectRestoreObjectTypeDef,
RestoreObjectRequestObjectSummaryRestoreObjectTypeDef,
RestoreObjectRequestRequestTypeDef,
GetBucketInventoryConfigurationOutputTypeDef,
ListBucketInventoryConfigurationsOutputTypeDef,
PutBucketInventoryConfigurationRequestRequestTypeDef,
GetBucketReplicationOutputTypeDef,
PutBucketReplicationRequestRequestTypeDef,
)
def get_structure() -> AbortIncompleteMultipartUploadTypeDef:
return {...}
```
## How it works
Fully automated
[mypy-boto3-builder](https://github.com/youtype/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:
- All available `boto3` services are covered.
- Each public class and method of every `boto3` service gets valid type
annotations extracted from `botocore` schemas.
- Type annotations include up-to-date documentation.
- Link to documentation is provided for every method.
- Code is processed by [black](https://github.com/psf/black) and
[isort](https://github.com/PyCQA/isort) for readability.
## What's new
### Implemented features
- Fully type annotated `boto3`, `botocore`, `aiobotocore` and `aioboto3`
libraries
- `mypy`, `pyright`, `VSCode`, `PyCharm`, `Sublime Text` and `Emacs`
compatibility
- `Client`, `ServiceResource`, `Resource`, `Waiter` `Paginator` type
annotations for each service
- Generated `TypeDefs` for each service
- Generated `Literals` for each service
- Auto discovery of types for `boto3.client` and `boto3.resource` calls
- Auto discovery of types for `session.client` and `session.resource` calls
- Auto discovery of types for `client.get_waiter` and `client.get_paginator`
calls
- Auto discovery of types for `ServiceResource` and `Resource` collections
- Auto discovery of types for `aiobotocore.Session.create_client` calls
### Latest changes
Builder changelog can be found in
[Releases](https://github.com/youtype/mypy_boto3_builder/releases).
## Versioning
`mypy-boto3-s3` version is the same as related `boto3` version and follows
[PEP 440](https://www.python.org/dev/peps/pep-0440/) format.
## Thank you
- [Allie Fitter](https://github.com/alliefitter) for
[boto3-type-annotations](https://pypi.org/project/boto3-type-annotations/),
this package is based on top of his work
- [black](https://github.com/psf/black) developers for an awesome formatting
tool
- [Timothy Edmund Crosley](https://github.com/timothycrosley) for
[isort](https://github.com/PyCQA/isort) and how flexible it is
- [mypy](https://github.com/python/mypy) developers for doing all dirty work
for us
- [pyright](https://github.com/microsoft/pyright) team for the new era of typed
Python
## Documentation
All services type annotations can be found in
[boto3 docs](https://youtype.github.io/boto3_stubs_docs/mypy_boto3_s3/)
## Support and contributing
This package is auto-generated. Please reports any bugs or request new features
in [mypy-boto3-builder](https://github.com/youtype/mypy_boto3_builder/issues/)
repository.
%package help
Summary: Development documents and examples for mypy-boto3-s3
Provides: python3-mypy-boto3-s3-doc
%description help
# mypy-boto3-s3
[](https://pypi.org/project/mypy-boto3-s3)
[](https://pypi.org/project/mypy-boto3-s3)
[](https://youtype.github.io/boto3_stubs_docs/mypy_boto3_s3/)
[](https://pypistats.org/packages/mypy-boto3-s3)

Type annotations for
[boto3.S3 1.26.104](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/s3.html#S3)
service compatible with [VSCode](https://code.visualstudio.com/),
[PyCharm](https://www.jetbrains.com/pycharm/),
[Emacs](https://www.gnu.org/software/emacs/),
[Sublime Text](https://www.sublimetext.com/),
[mypy](https://github.com/python/mypy),
[pyright](https://github.com/microsoft/pyright) and other tools.
Generated by
[mypy-boto3-builder 7.14.5](https://github.com/youtype/mypy_boto3_builder).
More information can be found on
[boto3-stubs](https://pypi.org/project/boto3-stubs/) page and in
[mypy-boto3-s3 docs](https://youtype.github.io/boto3_stubs_docs/mypy_boto3_s3/).
See how it helps to find and fix potential bugs:

- [mypy-boto3-s3](#mypy-boto3-s3)
- [How to install](#how-to-install)
- [VSCode extension](#vscode-extension)
- [From PyPI with pip](#from-pypi-with-pip)
- [From conda-forge](#from-conda-forge)
- [How to uninstall](#how-to-uninstall)
- [Usage](#usage)
- [VSCode](#vscode)
- [PyCharm](#pycharm)
- [Emacs](#emacs)
- [Sublime Text](#sublime-text)
- [Other IDEs](#other-ides)
- [mypy](#mypy)
- [pyright](#pyright)
- [Explicit type annotations](#explicit-type-annotations)
- [Client annotations](#client-annotations)
- [Paginators annotations](#paginators-annotations)
- [Waiters annotations](#waiters-annotations)
- [Service Resource annotations](#service-resource-annotations)
- [Other resources annotations](#other-resources-annotations)
- [Collections annotations](#collections-annotations)
- [Literals](#literals)
- [Typed dictionaries](#typed-dictionaries)
- [How it works](#how-it-works)
- [What's new](#what's-new)
- [Implemented features](#implemented-features)
- [Latest changes](#latest-changes)
- [Versioning](#versioning)
- [Thank you](#thank-you)
- [Documentation](#documentation)
- [Support and contributing](#support-and-contributing)
## How to install
### VSCode extension
Add
[AWS Boto3](https://marketplace.visualstudio.com/items?itemName=Boto3typed.boto3-ide)
extension to your VSCode and run `AWS boto3: Quick Start` command.
Click `Modify` and select `boto3 common` and `S3`.
### From PyPI with pip
Install `boto3-stubs` for `S3` service.
```bash
# 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
```
### From conda-forge
Installing `mypy-boto3-s3` from the `conda-forge` channel can be achieved by
adding `conda-forge` to your channels with:
```bash
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:
```bash
conda install mypy-boto3-s3
```
It is possible to list all of the versions of `mypy-boto3-s3` available on your
platform with:
```bash
conda search mypy-boto3-s3 --channel conda-forge
```
## How to uninstall
```bash
python -m pip uninstall -y mypy-boto3-s3
```
## Usage
### VSCode
- Install
[Python extension](https://marketplace.visualstudio.com/items?itemName=ms-python.python)
- Install
[Pylance extension](https://marketplace.visualstudio.com/items?itemName=ms-python.vscode-pylance)
- Set `Pylance` as your Python Language Server
- Install `boto3-stubs[s3]` in your environment:
```bash
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.
### PyCharm
Install `boto3-stubs-lite[s3]` in your environment:
```bash
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.
### Emacs
- Install `boto3-stubs` with services you use in your environment:
```bash
python -m pip install 'boto3-stubs[s3]'
```
- Install [use-package](https://github.com/jwiegley/use-package),
[lsp](https://github.com/emacs-lsp/lsp-mode/),
[company](https://github.com/company-mode/company-mode) and
[flycheck](https://github.com/flycheck/flycheck) packages
- Install [lsp-pyright](https://github.com/emacs-lsp/lsp-pyright) package
```elisp
(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"))
)
```
- Make sure emacs uses the environment where you have installed `boto3-stubs`
Type checking should now work. No explicit type annotations required, write
your `boto3` code as usual.
### Sublime Text
- Install `boto3-stubs[s3]` with services you use in your environment:
```bash
python -m pip install 'boto3-stubs[s3]'
```
- Install [LSP-pyright](https://github.com/sublimelsp/LSP-pyright) package
Type checking should now work. No explicit type annotations required, write
your `boto3` code as usual.
### Other IDEs
Not tested, but as long as your IDE supports `mypy` or `pyright`, everything
should work.
### mypy
- Install `mypy`: `python -m pip install mypy`
- Install `boto3-stubs[s3]` in your environment:
```bash
python -m pip install 'boto3-stubs[s3]'`
```
Type checking should now work. No explicit type annotations required, write
your `boto3` code as usual.
### pyright
- Install `pyright`: `npm i -g pyright`
- Install `boto3-stubs[s3]` in your environment:
```bash
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.
## Explicit type annotations
### Client annotations
`S3Client` provides annotations for `boto3.client("s3")`.
```python
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
```
### Paginators annotations
`mypy_boto3_s3.paginator` module contains type annotations for all paginators.
```python
from boto3.session import Session
from mypy_boto3_s3 import S3Client
from mypy_boto3_s3.paginator import (
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_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")
```
### Waiters annotations
`mypy_boto3_s3.waiter` module contains type annotations for all waiters.
```python
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")
```
### Service Resource annotations
`S3ServiceResource` provides annotations for `boto3.resource("s3")`.
```python
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
```
### Other resources annotations
`mypy_boto3_s3.service_resource` module contains type annotations for all
resources.
```python
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(...)
```
### Collections annotations
`mypy_boto3_s3.service_resource` module contains type annotations for all
`S3ServiceResource` collections.
```python
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
```
### Literals
`mypy_boto3_s3.literals` module contains literals extracted from shapes that
can be used in user code for type checking.
```python
from mypy_boto3_s3.literals import (
AnalyticsS3ExportFileFormatType,
ArchiveStatusType,
BucketAccelerateStatusType,
BucketCannedACLType,
BucketExistsWaiterName,
BucketLocationConstraintType,
BucketLogsPermissionType,
BucketNotExistsWaiterName,
BucketVersioningStatusType,
ChecksumAlgorithmType,
ChecksumModeType,
CompressionTypeType,
DeleteMarkerReplicationStatusType,
EncodingTypeType,
EventType,
ExistingObjectReplicationStatusType,
ExpirationStatusType,
ExpressionTypeType,
FileHeaderInfoType,
FilterRuleNameType,
IntelligentTieringAccessTierType,
IntelligentTieringStatusType,
InventoryFormatType,
InventoryFrequencyType,
InventoryIncludedObjectVersionsType,
InventoryOptionalFieldType,
JSONTypeType,
ListMultipartUploadsPaginatorName,
ListObjectVersionsPaginatorName,
ListObjectsPaginatorName,
ListObjectsV2PaginatorName,
ListPartsPaginatorName,
MFADeleteStatusType,
MFADeleteType,
MetadataDirectiveType,
MetricsStatusType,
ObjectAttributesType,
ObjectCannedACLType,
ObjectExistsWaiterName,
ObjectLockEnabledType,
ObjectLockLegalHoldStatusType,
ObjectLockModeType,
ObjectLockRetentionModeType,
ObjectNotExistsWaiterName,
ObjectOwnershipType,
ObjectStorageClassType,
ObjectVersionStorageClassType,
OwnerOverrideType,
PayerType,
PermissionType,
ProtocolType,
QuoteFieldsType,
ReplicaModificationsStatusType,
ReplicationRuleStatusType,
ReplicationStatusType,
ReplicationTimeStatusType,
RequestChargedType,
RequestPayerType,
RestoreRequestTypeType,
ServerSideEncryptionType,
SseKmsEncryptedObjectsStatusType,
StorageClassAnalysisSchemaVersionType,
StorageClassType,
TaggingDirectiveType,
TierType,
TransitionStorageClassType,
TypeType,
S3ServiceName,
ServiceName,
ResourceServiceName,
PaginatorName,
WaiterName,
RegionName,
)
def check_value(value: AnalyticsS3ExportFileFormatType) -> bool:
...
```
### Typed dictionaries
`mypy_boto3_s3.type_defs` module contains structures and shapes assembled to
typed dictionaries for additional type checking.
```python
from mypy_boto3_s3.type_defs import (
AbortIncompleteMultipartUploadTypeDef,
ResponseMetadataTypeDef,
AbortMultipartUploadRequestMultipartUploadAbortTypeDef,
AbortMultipartUploadRequestRequestTypeDef,
AccelerateConfigurationTypeDef,
OwnerTypeDef,
AccessControlTranslationTypeDef,
TagTypeDef,
AnalyticsS3BucketDestinationTypeDef,
CopySourceTypeDef,
BucketDownloadFileRequestTypeDef,
BucketDownloadFileobjRequestTypeDef,
BucketTypeDef,
BucketUploadFileRequestTypeDef,
BucketUploadFileobjRequestTypeDef,
CORSRuleTypeDef,
CSVInputTypeDef,
CSVOutputTypeDef,
ChecksumTypeDef,
ClientDownloadFileRequestTypeDef,
ClientDownloadFileobjRequestTypeDef,
ClientGeneratePresignedPostRequestTypeDef,
ClientUploadFileRequestTypeDef,
ClientUploadFileobjRequestTypeDef,
CloudFunctionConfigurationTypeDef,
CommonPrefixTypeDef,
CompletedPartTypeDef,
ConditionTypeDef,
CopyObjectResultTypeDef,
CopyObjectRequestObjectCopyFromTypeDef,
CopyObjectRequestObjectSummaryCopyFromTypeDef,
CopyPartResultTypeDef,
CreateBucketConfigurationTypeDef,
CreateMultipartUploadRequestObjectInitiateMultipartUploadTypeDef,
CreateMultipartUploadRequestObjectSummaryInitiateMultipartUploadTypeDef,
CreateMultipartUploadRequestRequestTypeDef,
DefaultRetentionTypeDef,
DeleteBucketAnalyticsConfigurationRequestRequestTypeDef,
DeleteBucketCorsRequestBucketCorsDeleteTypeDef,
DeleteBucketCorsRequestRequestTypeDef,
DeleteBucketEncryptionRequestRequestTypeDef,
DeleteBucketIntelligentTieringConfigurationRequestRequestTypeDef,
DeleteBucketInventoryConfigurationRequestRequestTypeDef,
DeleteBucketLifecycleRequestBucketLifecycleConfigurationDeleteTypeDef,
DeleteBucketLifecycleRequestBucketLifecycleDeleteTypeDef,
DeleteBucketLifecycleRequestRequestTypeDef,
DeleteBucketMetricsConfigurationRequestRequestTypeDef,
DeleteBucketOwnershipControlsRequestRequestTypeDef,
DeleteBucketPolicyRequestBucketPolicyDeleteTypeDef,
DeleteBucketPolicyRequestRequestTypeDef,
DeleteBucketReplicationRequestRequestTypeDef,
DeleteBucketRequestBucketDeleteTypeDef,
DeleteBucketRequestRequestTypeDef,
DeleteBucketTaggingRequestBucketTaggingDeleteTypeDef,
DeleteBucketTaggingRequestRequestTypeDef,
DeleteBucketWebsiteRequestBucketWebsiteDeleteTypeDef,
DeleteBucketWebsiteRequestRequestTypeDef,
DeleteMarkerReplicationTypeDef,
DeleteObjectRequestObjectDeleteTypeDef,
DeleteObjectRequestObjectSummaryDeleteTypeDef,
DeleteObjectRequestObjectVersionDeleteTypeDef,
DeleteObjectRequestRequestTypeDef,
DeleteObjectTaggingRequestRequestTypeDef,
DeletedObjectTypeDef,
ErrorTypeDef,
DeletePublicAccessBlockRequestRequestTypeDef,
ObjectIdentifierTypeDef,
EncryptionConfigurationTypeDef,
EncryptionTypeDef,
ErrorDocumentTypeDef,
ExistingObjectReplicationTypeDef,
FilterRuleTypeDef,
GetBucketAccelerateConfigurationRequestRequestTypeDef,
GetBucketAclRequestRequestTypeDef,
GetBucketAnalyticsConfigurationRequestRequestTypeDef,
GetBucketCorsRequestRequestTypeDef,
GetBucketEncryptionRequestRequestTypeDef,
GetBucketIntelligentTieringConfigurationRequestRequestTypeDef,
GetBucketInventoryConfigurationRequestRequestTypeDef,
GetBucketLifecycleConfigurationRequestRequestTypeDef,
GetBucketLifecycleRequestRequestTypeDef,
GetBucketLocationRequestRequestTypeDef,
GetBucketLoggingRequestRequestTypeDef,
GetBucketMetricsConfigurationRequestRequestTypeDef,
GetBucketNotificationConfigurationRequestRequestTypeDef,
GetBucketOwnershipControlsRequestRequestTypeDef,
GetBucketPolicyRequestRequestTypeDef,
PolicyStatusTypeDef,
GetBucketPolicyStatusRequestRequestTypeDef,
GetBucketReplicationRequestRequestTypeDef,
GetBucketRequestPaymentRequestRequestTypeDef,
GetBucketTaggingRequestRequestTypeDef,
GetBucketVersioningRequestRequestTypeDef,
IndexDocumentTypeDef,
RedirectAllRequestsToTypeDef,
GetBucketWebsiteRequestRequestTypeDef,
GetObjectAclRequestRequestTypeDef,
ObjectPartTypeDef,
GetObjectAttributesRequestRequestTypeDef,
ObjectLockLegalHoldTypeDef,
GetObjectLegalHoldRequestRequestTypeDef,
GetObjectLockConfigurationRequestRequestTypeDef,
GetObjectRequestObjectGetTypeDef,
GetObjectRequestObjectSummaryGetTypeDef,
GetObjectRequestObjectVersionGetTypeDef,
GetObjectRequestRequestTypeDef,
ObjectLockRetentionTypeDef,
GetObjectRetentionRequestRequestTypeDef,
GetObjectTaggingRequestRequestTypeDef,
GetObjectTorrentRequestRequestTypeDef,
PublicAccessBlockConfigurationTypeDef,
GetPublicAccessBlockRequestRequestTypeDef,
GlacierJobParametersTypeDef,
GranteeTypeDef,
WaiterConfigTypeDef,
HeadBucketRequestRequestTypeDef,
HeadObjectRequestObjectVersionHeadTypeDef,
HeadObjectRequestRequestTypeDef,
InitiatorTypeDef,
JSONInputTypeDef,
TieringTypeDef,
InventoryFilterTypeDef,
InventoryScheduleTypeDef,
SSEKMSTypeDef,
JSONOutputTypeDef,
LifecycleExpirationTypeDef,
NoncurrentVersionExpirationTypeDef,
NoncurrentVersionTransitionTypeDef,
TransitionTypeDef,
ListBucketAnalyticsConfigurationsRequestRequestTypeDef,
ListBucketIntelligentTieringConfigurationsRequestRequestTypeDef,
ListBucketInventoryConfigurationsRequestRequestTypeDef,
ListBucketMetricsConfigurationsRequestRequestTypeDef,
PaginatorConfigTypeDef,
ListMultipartUploadsRequestRequestTypeDef,
ListObjectVersionsRequestRequestTypeDef,
ListObjectsRequestRequestTypeDef,
ListObjectsV2RequestRequestTypeDef,
PartTypeDef,
ListPartsRequestRequestTypeDef,
MetadataEntryTypeDef,
ReplicationTimeValueTypeDef,
QueueConfigurationDeprecatedTypeDef,
TopicConfigurationDeprecatedTypeDef,
ObjectDownloadFileRequestTypeDef,
ObjectDownloadFileobjRequestTypeDef,
ObjectUploadFileRequestTypeDef,
ObjectUploadFileobjRequestTypeDef,
OwnershipControlsRuleTypeDef,
ProgressTypeDef,
PutBucketPolicyRequestBucketPolicyPutTypeDef,
PutBucketPolicyRequestRequestTypeDef,
RequestPaymentConfigurationTypeDef,
PutBucketVersioningRequestBucketVersioningEnableTypeDef,
VersioningConfigurationTypeDef,
PutBucketVersioningRequestBucketVersioningSuspendTypeDef,
PutObjectRequestBucketPutObjectTypeDef,
PutObjectRequestObjectPutTypeDef,
PutObjectRequestObjectSummaryPutTypeDef,
PutObjectRequestRequestTypeDef,
RecordsEventTypeDef,
RedirectTypeDef,
ReplicaModificationsTypeDef,
RequestProgressTypeDef,
ScanRangeTypeDef,
ServerSideEncryptionByDefaultTypeDef,
SseKmsEncryptedObjectsTypeDef,
StatsTypeDef,
UploadPartRequestMultipartUploadPartUploadTypeDef,
UploadPartRequestRequestTypeDef,
WriteGetObjectResponseRequestRequestTypeDef,
AbortMultipartUploadOutputTypeDef,
CompleteMultipartUploadOutputTypeDef,
CreateBucketOutputTypeDef,
CreateMultipartUploadOutputTypeDef,
DeleteObjectOutputTypeDef,
DeleteObjectTaggingOutputTypeDef,
EmptyResponseMetadataTypeDef,
ErrorDocumentResponseMetadataTypeDef,
GetBucketAccelerateConfigurationOutputTypeDef,
GetBucketLocationOutputTypeDef,
GetBucketPolicyOutputTypeDef,
GetBucketRequestPaymentOutputTypeDef,
GetBucketVersioningOutputTypeDef,
GetObjectOutputTypeDef,
GetObjectTorrentOutputTypeDef,
HeadObjectOutputTypeDef,
IndexDocumentResponseMetadataTypeDef,
InitiatorResponseMetadataTypeDef,
OwnerResponseMetadataTypeDef,
PutObjectAclOutputTypeDef,
PutObjectLegalHoldOutputTypeDef,
PutObjectLockConfigurationOutputTypeDef,
PutObjectOutputTypeDef,
PutObjectRetentionOutputTypeDef,
PutObjectTaggingOutputTypeDef,
RedirectAllRequestsToResponseMetadataTypeDef,
RestoreObjectOutputTypeDef,
UploadPartOutputTypeDef,
PutBucketAccelerateConfigurationRequestRequestTypeDef,
DeleteMarkerEntryTypeDef,
ObjectTypeDef,
ObjectVersionTypeDef,
AnalyticsAndOperatorTypeDef,
GetBucketTaggingOutputTypeDef,
GetObjectTaggingOutputTypeDef,
IntelligentTieringAndOperatorTypeDef,
LifecycleRuleAndOperatorTypeDef,
MetricsAndOperatorTypeDef,
ReplicationRuleAndOperatorTypeDef,
TaggingTypeDef,
AnalyticsExportDestinationTypeDef,
BucketCopyRequestTypeDef,
ClientCopyRequestTypeDef,
CopyObjectRequestRequestTypeDef,
ObjectCopyRequestTypeDef,
UploadPartCopyRequestMultipartUploadPartCopyFromTypeDef,
UploadPartCopyRequestRequestTypeDef,
ListBucketsOutputTypeDef,
CORSConfigurationTypeDef,
GetBucketCorsOutputTypeDef,
CompletedMultipartUploadTypeDef,
CopyObjectOutputTypeDef,
UploadPartCopyOutputTypeDef,
CreateBucketRequestBucketCreateTypeDef,
CreateBucketRequestRequestTypeDef,
CreateBucketRequestServiceResourceCreateBucketTypeDef,
ObjectLockRuleTypeDef,
DeleteObjectsOutputTypeDef,
DeleteTypeDef,
S3KeyFilterTypeDef,
GetBucketPolicyStatusOutputTypeDef,
GetObjectAttributesPartsTypeDef,
GetObjectLegalHoldOutputTypeDef,
PutObjectLegalHoldRequestRequestTypeDef,
GetObjectRetentionOutputTypeDef,
PutObjectRetentionRequestRequestTypeDef,
GetPublicAccessBlockOutputTypeDef,
PutPublicAccessBlockRequestRequestTypeDef,
GrantTypeDef,
TargetGrantTypeDef,
HeadBucketRequestBucketExistsWaitTypeDef,
HeadBucketRequestBucketNotExistsWaitTypeDef,
HeadObjectRequestObjectExistsWaitTypeDef,
HeadObjectRequestObjectNotExistsWaitTypeDef,
MultipartUploadTypeDef,
InputSerializationTypeDef,
InventoryEncryptionTypeDef,
OutputSerializationTypeDef,
RuleTypeDef,
ListMultipartUploadsRequestListMultipartUploadsPaginateTypeDef,
ListObjectVersionsRequestListObjectVersionsPaginateTypeDef,
ListObjectsRequestListObjectsPaginateTypeDef,
ListObjectsV2RequestListObjectsV2PaginateTypeDef,
ListPartsRequestListPartsPaginateTypeDef,
ListPartsOutputTypeDef,
MetricsTypeDef,
ReplicationTimeTypeDef,
NotificationConfigurationDeprecatedResponseMetadataTypeDef,
NotificationConfigurationDeprecatedTypeDef,
OwnershipControlsTypeDef,
ProgressEventTypeDef,
PutBucketRequestPaymentRequestBucketRequestPaymentPutTypeDef,
PutBucketRequestPaymentRequestRequestTypeDef,
PutBucketVersioningRequestBucketVersioningPutTypeDef,
PutBucketVersioningRequestRequestTypeDef,
RoutingRuleTypeDef,
ServerSideEncryptionRuleTypeDef,
SourceSelectionCriteriaTypeDef,
StatsEventTypeDef,
ListObjectsOutputTypeDef,
ListObjectsV2OutputTypeDef,
ListObjectVersionsOutputTypeDef,
AnalyticsFilterTypeDef,
IntelligentTieringFilterTypeDef,
LifecycleRuleFilterTypeDef,
MetricsFilterTypeDef,
ReplicationRuleFilterTypeDef,
PutBucketTaggingRequestBucketTaggingPutTypeDef,
PutBucketTaggingRequestRequestTypeDef,
PutObjectTaggingRequestRequestTypeDef,
StorageClassAnalysisDataExportTypeDef,
PutBucketCorsRequestBucketCorsPutTypeDef,
PutBucketCorsRequestRequestTypeDef,
CompleteMultipartUploadRequestMultipartUploadCompleteTypeDef,
CompleteMultipartUploadRequestRequestTypeDef,
ObjectLockConfigurationTypeDef,
DeleteObjectsRequestBucketDeleteObjectsTypeDef,
DeleteObjectsRequestRequestTypeDef,
NotificationConfigurationFilterTypeDef,
GetObjectAttributesOutputTypeDef,
AccessControlPolicyTypeDef,
GetBucketAclOutputTypeDef,
GetObjectAclOutputTypeDef,
S3LocationTypeDef,
LoggingEnabledResponseMetadataTypeDef,
LoggingEnabledTypeDef,
ListMultipartUploadsOutputTypeDef,
InventoryS3BucketDestinationTypeDef,
SelectObjectContentRequestRequestTypeDef,
SelectParametersTypeDef,
GetBucketLifecycleOutputTypeDef,
LifecycleConfigurationTypeDef,
DestinationTypeDef,
PutBucketNotificationRequestRequestTypeDef,
GetBucketOwnershipControlsOutputTypeDef,
PutBucketOwnershipControlsRequestRequestTypeDef,
GetBucketWebsiteOutputTypeDef,
WebsiteConfigurationTypeDef,
ServerSideEncryptionConfigurationTypeDef,
SelectObjectContentEventStreamTypeDef,
IntelligentTieringConfigurationTypeDef,
LifecycleRuleTypeDef,
MetricsConfigurationTypeDef,
StorageClassAnalysisTypeDef,
GetObjectLockConfigurationOutputTypeDef,
PutObjectLockConfigurationRequestRequestTypeDef,
LambdaFunctionConfigurationTypeDef,
QueueConfigurationTypeDef,
TopicConfigurationTypeDef,
PutBucketAclRequestBucketAclPutTypeDef,
PutBucketAclRequestRequestTypeDef,
PutObjectAclRequestObjectAclPutTypeDef,
PutObjectAclRequestRequestTypeDef,
OutputLocationTypeDef,
BucketLoggingStatusTypeDef,
GetBucketLoggingOutputTypeDef,
InventoryDestinationTypeDef,
PutBucketLifecycleRequestBucketLifecyclePutTypeDef,
PutBucketLifecycleRequestRequestTypeDef,
ReplicationRuleTypeDef,
PutBucketWebsiteRequestBucketWebsitePutTypeDef,
PutBucketWebsiteRequestRequestTypeDef,
GetBucketEncryptionOutputTypeDef,
PutBucketEncryptionRequestRequestTypeDef,
SelectObjectContentOutputTypeDef,
GetBucketIntelligentTieringConfigurationOutputTypeDef,
ListBucketIntelligentTieringConfigurationsOutputTypeDef,
PutBucketIntelligentTieringConfigurationRequestRequestTypeDef,
BucketLifecycleConfigurationTypeDef,
GetBucketLifecycleConfigurationOutputTypeDef,
GetBucketMetricsConfigurationOutputTypeDef,
ListBucketMetricsConfigurationsOutputTypeDef,
PutBucketMetricsConfigurationRequestRequestTypeDef,
AnalyticsConfigurationTypeDef,
NotificationConfigurationResponseMetadataTypeDef,
NotificationConfigurationTypeDef,
RestoreRequestTypeDef,
PutBucketLoggingRequestBucketLoggingPutTypeDef,
PutBucketLoggingRequestRequestTypeDef,
InventoryConfigurationTypeDef,
ReplicationConfigurationTypeDef,
PutBucketLifecycleConfigurationRequestBucketLifecycleConfigurationPutTypeDef,
PutBucketLifecycleConfigurationRequestRequestTypeDef,
GetBucketAnalyticsConfigurationOutputTypeDef,
ListBucketAnalyticsConfigurationsOutputTypeDef,
PutBucketAnalyticsConfigurationRequestRequestTypeDef,
PutBucketNotificationConfigurationRequestBucketNotificationPutTypeDef,
PutBucketNotificationConfigurationRequestRequestTypeDef,
RestoreObjectRequestObjectRestoreObjectTypeDef,
RestoreObjectRequestObjectSummaryRestoreObjectTypeDef,
RestoreObjectRequestRequestTypeDef,
GetBucketInventoryConfigurationOutputTypeDef,
ListBucketInventoryConfigurationsOutputTypeDef,
PutBucketInventoryConfigurationRequestRequestTypeDef,
GetBucketReplicationOutputTypeDef,
PutBucketReplicationRequestRequestTypeDef,
)
def get_structure() -> AbortIncompleteMultipartUploadTypeDef:
return {...}
```
## How it works
Fully automated
[mypy-boto3-builder](https://github.com/youtype/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:
- All available `boto3` services are covered.
- Each public class and method of every `boto3` service gets valid type
annotations extracted from `botocore` schemas.
- Type annotations include up-to-date documentation.
- Link to documentation is provided for every method.
- Code is processed by [black](https://github.com/psf/black) and
[isort](https://github.com/PyCQA/isort) for readability.
## What's new
### Implemented features
- Fully type annotated `boto3`, `botocore`, `aiobotocore` and `aioboto3`
libraries
- `mypy`, `pyright`, `VSCode`, `PyCharm`, `Sublime Text` and `Emacs`
compatibility
- `Client`, `ServiceResource`, `Resource`, `Waiter` `Paginator` type
annotations for each service
- Generated `TypeDefs` for each service
- Generated `Literals` for each service
- Auto discovery of types for `boto3.client` and `boto3.resource` calls
- Auto discovery of types for `session.client` and `session.resource` calls
- Auto discovery of types for `client.get_waiter` and `client.get_paginator`
calls
- Auto discovery of types for `ServiceResource` and `Resource` collections
- Auto discovery of types for `aiobotocore.Session.create_client` calls
### Latest changes
Builder changelog can be found in
[Releases](https://github.com/youtype/mypy_boto3_builder/releases).
## Versioning
`mypy-boto3-s3` version is the same as related `boto3` version and follows
[PEP 440](https://www.python.org/dev/peps/pep-0440/) format.
## Thank you
- [Allie Fitter](https://github.com/alliefitter) for
[boto3-type-annotations](https://pypi.org/project/boto3-type-annotations/),
this package is based on top of his work
- [black](https://github.com/psf/black) developers for an awesome formatting
tool
- [Timothy Edmund Crosley](https://github.com/timothycrosley) for
[isort](https://github.com/PyCQA/isort) and how flexible it is
- [mypy](https://github.com/python/mypy) developers for doing all dirty work
for us
- [pyright](https://github.com/microsoft/pyright) team for the new era of typed
Python
## Documentation
All services type annotations can be found in
[boto3 docs](https://youtype.github.io/boto3_stubs_docs/mypy_boto3_s3/)
## Support and contributing
This package is auto-generated. Please reports any bugs or request new features
in [mypy-boto3-builder](https://github.com/youtype/mypy_boto3_builder/issues/)
repository.
%prep
%autosetup -n mypy-boto3-s3-1.26.104
%build
%py3_build
%install
%py3_install
install -d -m755 %{buildroot}/%{_pkgdocdir}
if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
pushd %{buildroot}
if [ -d usr/lib ]; then
find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/lib64 ]; then
find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/bin ]; then
find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
fi
if [ -d usr/sbin ]; then
find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
fi
touch doclist.lst
if [ -d usr/share/man ]; then
find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
fi
popd
mv %{buildroot}/filelist.lst .
mv %{buildroot}/doclist.lst .
%files -n python3-mypy-boto3-s3 -f filelist.lst
%dir %{python3_sitelib}/*
%files help -f doclist.lst
%{_docdir}/*
%changelog
* Mon Apr 10 2023 Python_Bot - 1.26.104-1
- Package Spec generated