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