diff options
author | CoprDistGit <infra@openeuler.org> | 2023-04-10 10:46:52 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-04-10 10:46:52 +0000 |
commit | 481f3294d053afb3a0b1846d4f3f174bf7e9f46b (patch) | |
tree | 2cd1839f930a6e4ce43a11579f275c735295b95a | |
parent | 2fa504a487f93be1a04a70437ea497a8d85eadb5 (diff) |
automatic import of python-mypy-boto3-s3
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-mypy-boto3-s3.spec | 3019 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 3021 insertions, 0 deletions
@@ -0,0 +1 @@ +/mypy-boto3-s3-1.26.104.tar.gz diff --git a/python-mypy-boto3-s3.spec b/python-mypy-boto3-s3.spec new file mode 100644 index 0000000..633674c --- /dev/null +++ b/python-mypy-boto3-s3.spec @@ -0,0 +1,3019 @@ +%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 +<a id="mypy-boto3-s3"></a> + +# 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) + +<a id="how-to-install"></a> + +## How to install + +<a id="vscode-extension"></a> + +### 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`. + +<a id="from-pypi-with-pip"></a> + +### 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 +``` + +<a id="from-conda-forge"></a> + +### 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 +``` + +<a id="how-to-uninstall"></a> + +## How to uninstall + +```bash +python -m pip uninstall -y mypy-boto3-s3 +``` + +<a id="usage"></a> + +## Usage + +<a id="vscode"></a> + +### 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. + +<a id="pycharm"></a> + +### 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. + +<a id="emacs"></a> + +### 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. + +<a id="sublime-text"></a> + +### 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. + +<a id="other-ides"></a> + +### Other IDEs + +Not tested, but as long as your IDE supports `mypy` or `pyright`, everything +should work. + +<a id="mypy"></a> + +### 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. + +<a id="pyright"></a> + +### 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. + +<a id="explicit-type-annotations"></a> + +## Explicit type annotations + +<a id="client-annotations"></a> + +### 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 +``` + +<a id="paginators-annotations"></a> + +### 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") +``` + +<a id="waiters-annotations"></a> + +### 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") +``` + +<a id="service-resource-annotations"></a> + +### 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 +``` + +<a id="other-resources-annotations"></a> + +### 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(...) +``` + +<a id="collections-annotations"></a> + +### 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 +``` + +<a id="literals"></a> + +### 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: + ... +``` + +<a id="typed-dictionaries"></a> + +### 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 {...} +``` + +<a id="how-it-works"></a> + +## 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. + +<a id="what's-new"></a> + +## What's new + +<a id="implemented-features"></a> + +### 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 + +<a id="latest-changes"></a> + +### Latest changes + +Builder changelog can be found in +[Releases](https://github.com/youtype/mypy_boto3_builder/releases). + +<a id="versioning"></a> + +## 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. + +<a id="thank-you"></a> + +## 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 + +<a id="documentation"></a> + +## Documentation + +All services type annotations can be found in +[boto3 docs](https://youtype.github.io/boto3_stubs_docs/mypy_boto3_s3/) + +<a id="support-and-contributing"></a> + +## 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 +<a id="mypy-boto3-s3"></a> + +# 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) + +<a id="how-to-install"></a> + +## How to install + +<a id="vscode-extension"></a> + +### 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`. + +<a id="from-pypi-with-pip"></a> + +### 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 +``` + +<a id="from-conda-forge"></a> + +### 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 +``` + +<a id="how-to-uninstall"></a> + +## How to uninstall + +```bash +python -m pip uninstall -y mypy-boto3-s3 +``` + +<a id="usage"></a> + +## Usage + +<a id="vscode"></a> + +### 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. + +<a id="pycharm"></a> + +### 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. + +<a id="emacs"></a> + +### 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. + +<a id="sublime-text"></a> + +### 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. + +<a id="other-ides"></a> + +### Other IDEs + +Not tested, but as long as your IDE supports `mypy` or `pyright`, everything +should work. + +<a id="mypy"></a> + +### 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. + +<a id="pyright"></a> + +### 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. + +<a id="explicit-type-annotations"></a> + +## Explicit type annotations + +<a id="client-annotations"></a> + +### 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 +``` + +<a id="paginators-annotations"></a> + +### 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") +``` + +<a id="waiters-annotations"></a> + +### 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") +``` + +<a id="service-resource-annotations"></a> + +### 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 +``` + +<a id="other-resources-annotations"></a> + +### 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(...) +``` + +<a id="collections-annotations"></a> + +### 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 +``` + +<a id="literals"></a> + +### 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: + ... +``` + +<a id="typed-dictionaries"></a> + +### 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 {...} +``` + +<a id="how-it-works"></a> + +## 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. + +<a id="what's-new"></a> + +## What's new + +<a id="implemented-features"></a> + +### 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 + +<a id="latest-changes"></a> + +### Latest changes + +Builder changelog can be found in +[Releases](https://github.com/youtype/mypy_boto3_builder/releases). + +<a id="versioning"></a> + +## 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. + +<a id="thank-you"></a> + +## 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 + +<a id="documentation"></a> + +## Documentation + +All services type annotations can be found in +[boto3 docs](https://youtype.github.io/boto3_stubs_docs/mypy_boto3_s3/) + +<a id="support-and-contributing"></a> + +## 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 +<a id="mypy-boto3-s3"></a> + +# 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) + +<a id="how-to-install"></a> + +## How to install + +<a id="vscode-extension"></a> + +### 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`. + +<a id="from-pypi-with-pip"></a> + +### 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 +``` + +<a id="from-conda-forge"></a> + +### 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 +``` + +<a id="how-to-uninstall"></a> + +## How to uninstall + +```bash +python -m pip uninstall -y mypy-boto3-s3 +``` + +<a id="usage"></a> + +## Usage + +<a id="vscode"></a> + +### 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. + +<a id="pycharm"></a> + +### 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. + +<a id="emacs"></a> + +### 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. + +<a id="sublime-text"></a> + +### 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. + +<a id="other-ides"></a> + +### Other IDEs + +Not tested, but as long as your IDE supports `mypy` or `pyright`, everything +should work. + +<a id="mypy"></a> + +### 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. + +<a id="pyright"></a> + +### 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. + +<a id="explicit-type-annotations"></a> + +## Explicit type annotations + +<a id="client-annotations"></a> + +### 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 +``` + +<a id="paginators-annotations"></a> + +### 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") +``` + +<a id="waiters-annotations"></a> + +### 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") +``` + +<a id="service-resource-annotations"></a> + +### 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 +``` + +<a id="other-resources-annotations"></a> + +### 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(...) +``` + +<a id="collections-annotations"></a> + +### 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 +``` + +<a id="literals"></a> + +### 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: + ... +``` + +<a id="typed-dictionaries"></a> + +### 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 {...} +``` + +<a id="how-it-works"></a> + +## 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. + +<a id="what's-new"></a> + +## What's new + +<a id="implemented-features"></a> + +### 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 + +<a id="latest-changes"></a> + +### Latest changes + +Builder changelog can be found in +[Releases](https://github.com/youtype/mypy_boto3_builder/releases). + +<a id="versioning"></a> + +## 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. + +<a id="thank-you"></a> + +## 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 + +<a id="documentation"></a> + +## Documentation + +All services type annotations can be found in +[boto3 docs](https://youtype.github.io/boto3_stubs_docs/mypy_boto3_s3/) + +<a id="support-and-contributing"></a> + +## 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 <Python_Bot@openeuler.org> - 1.26.104-1 +- Package Spec generated @@ -0,0 +1 @@ +434af71d6b73991f756568fc90512c5a mypy-boto3-s3-1.26.104.tar.gz |