
Research
npm Malware Targets Telegram Bot Developers with Persistent SSH Backdoors
Malicious npm packages posing as Telegram bot libraries install SSH backdoors and exfiltrate data from Linux developer machines.
types-aiobotocore-s3
Advanced tools
Type annotations for aiobotocore S3 2.21.1 service generated with mypy-boto3-builder 8.10.0
Type annotations for aiobotocore S3 2.21.1 compatible with VSCode, PyCharm, Emacs, Sublime Text, mypy, pyright and other tools.
Generated with mypy-boto3-builder 8.10.0.
More information can be found on types-aiobotocore page and in types-aiobotocore-s3 docs.
See how it helps you find and fix potential bugs:
You can generate type annotations for aiobotocore
package locally with
mypy-boto3-builder
. Use
uv for build
isolation.
uvx --with 'aiobotocore==2.21.1' mypy-boto3-builder
aiobotocore
AWS SDK.S3
service.Install types-aiobotocore
for S3
service.
# install with aiobotocore type annotations
python -m pip install 'types-aiobotocore[s3]'
# Lite version does not provide session.client/resource overloads
# it is more RAM-friendly, but requires explicit type annotations
python -m pip install 'types-aiobotocore-lite[s3]'
# standalone installation
python -m pip install types-aiobotocore-s3
python -m pip uninstall -y types-aiobotocore-s3
Pylance
as your Python Language Servertypes-aiobotocore[s3]
in your environment:python -m pip install 'types-aiobotocore[s3]'
Both type checking and code completion should now work. No explicit type
annotations required, write your aiobotocore
code as usual.
⚠️ Due to slow PyCharm performance on
Literal
overloads (issue PY-40997), it is recommended to use types-aiobotocore-lite until the issue is resolved.
⚠️ If you experience slow performance and high CPU usage, try to disable
PyCharm
type checker and use mypy or pyright instead.
⚠️ To continue using
PyCharm
type checker, you can try to replacetypes-aiobotocore
with types-aiobotocore-lite:
pip uninstall types-aiobotocore
pip install types-aiobotocore-lite
Install types-aiobotocore[s3]
in your environment:
python -m pip install 'types-aiobotocore[s3]'
Both type checking and code completion should now work.
types-aiobotocore
with services you use in your environment:python -m pip install 'types-aiobotocore[s3]'
(use-package lsp-pyright
:ensure t
:hook (python-mode . (lambda ()
(require 'lsp-pyright)
(lsp))) ; or lsp-deferred
:init (when (executable-find "python3")
(setq lsp-pyright-python-executable-cmd "python3"))
)
types-aiobotocore
Type checking should now work. No explicit type annotations required, write
your aiobotocore
code as usual.
types-aiobotocore[s3]
with services you use in your environment:python -m pip install 'types-aiobotocore[s3]'
Type checking should now work. No explicit type annotations required, write
your aiobotocore
code as usual.
Not tested, but as long as your IDE supports mypy
or pyright
, everything
should work.
mypy
: python -m pip install mypy
types-aiobotocore[s3]
in your environment:python -m pip install 'types-aiobotocore[s3]'
Type checking should now work. No explicit type annotations required, write
your aiobotocore
code as usual.
pyright
: npm i -g pyright
types-aiobotocore[s3]
in your environment:python -m pip install 'types-aiobotocore[s3]'
Optionally, you can install types-aiobotocore
to typings
directory.
Type checking should now work. No explicit type annotations required, write
your aiobotocore
code as usual.
It is totally safe to use TYPE_CHECKING
flag in order to avoid
types-aiobotocore-s3
dependency in production. However, there is an issue in
pylint
that it complains about undefined variables. To fix it, set all types
to object
in non-TYPE_CHECKING
mode.
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from types_aiobotocore_ec2 import EC2Client, EC2ServiceResource
from types_aiobotocore_ec2.waiters import BundleTaskCompleteWaiter
from types_aiobotocore_ec2.paginators import DescribeVolumesPaginator
else:
EC2Client = object
EC2ServiceResource = object
BundleTaskCompleteWaiter = object
DescribeVolumesPaginator = object
...
S3Client
provides annotations for session.create_client("s3")
.
from aiobotocore.session import get_session
from types_aiobotocore_s3 import S3Client
session = get_session()
async with session.create_client("s3") as client:
client: S3Client
# now client usage is checked by mypy and IDE should provide code completion
types_aiobotocore_s3.paginator
module contains type annotations for all
paginators.
from aiobotocore.session import get_session
from types_aiobotocore_s3 import S3Client
from types_aiobotocore_s3.paginator import (
ListBucketsPaginator,
ListDirectoryBucketsPaginator,
ListMultipartUploadsPaginator,
ListObjectVersionsPaginator,
ListObjectsPaginator,
ListObjectsV2Paginator,
ListPartsPaginator,
)
session = get_session()
async with session.create_client("s3") as client:
client: S3Client
# Explicit type annotations are optional here
# Types should be correctly discovered by mypy and IDEs
list_buckets_paginator: ListBucketsPaginator = client.get_paginator("list_buckets")
list_directory_buckets_paginator: ListDirectoryBucketsPaginator = client.get_paginator(
"list_directory_buckets"
)
list_multipart_uploads_paginator: ListMultipartUploadsPaginator = client.get_paginator(
"list_multipart_uploads"
)
list_object_versions_paginator: ListObjectVersionsPaginator = client.get_paginator(
"list_object_versions"
)
list_objects_paginator: ListObjectsPaginator = client.get_paginator("list_objects")
list_objects_v2_paginator: ListObjectsV2Paginator = client.get_paginator("list_objects_v2")
list_parts_paginator: ListPartsPaginator = client.get_paginator("list_parts")
types_aiobotocore_s3.waiter
module contains type annotations for all waiters.
from aiobotocore.session import get_session
from types_aiobotocore_s3.client import S3Client
from types_aiobotocore_s3.waiter import (
BucketExistsWaiter,
BucketNotExistsWaiter,
ObjectExistsWaiter,
ObjectNotExistsWaiter,
)
session = get_session()
async with session.create_client("s3") as client:
client: S3Client
# Explicit type annotations are optional here
# Types should be correctly discovered by mypy and IDEs
bucket_exists_waiter: BucketExistsWaiter = client.get_waiter("bucket_exists")
bucket_not_exists_waiter: BucketNotExistsWaiter = client.get_waiter("bucket_not_exists")
object_exists_waiter: ObjectExistsWaiter = client.get_waiter("object_exists")
object_not_exists_waiter: ObjectNotExistsWaiter = client.get_waiter("object_not_exists")
S3ServiceResource
provides annotations for aiobotocore.resource("s3")
.
from aiobotocore.session import get_session
from types_aiobotocore_s3 import S3ServiceResource
session = get_session()
async with session.resource("s3") as resource:
resource: S3ServiceResource
# now resource usage is checked by mypy and IDE should provide code completion
types_aiobotocore_s3.service_resource
module contains type annotations for
all resources.
from aiobotocore.session import get_session
from types_aiobotocore_s3 import S3ServiceResource
from types_aiobotocore_s3.service_resource import (
Bucket,
BucketAcl,
BucketCors,
BucketLifecycle,
BucketLifecycleConfiguration,
BucketLogging,
BucketNotification,
BucketPolicy,
BucketRequestPayment,
BucketTagging,
BucketVersioning,
BucketWebsite,
MultipartUpload,
MultipartUploadPart,
Object,
ObjectAcl,
ObjectSummary,
ObjectVersion,
)
session = get_session()
async with session.resource("s3") as resource:
resource: S3ServiceResource
# 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(...)
types_aiobotocore_s3.service_resource
module contains type annotations for
all S3ServiceResource
collections.
from aiobotocore.session import get_session
from types_aiobotocore_s3 import S3ServiceResource
from types_aiobotocore_s3.service_resource import ServiceResourceBucketsCollection
session = get_session()
async with session.resource("s3") as resource:
resource: S3ServiceResource
# Explicit type annotations are optional here
# Type should be correctly discovered by mypy and IDEs
buckets: s3_resources.ServiceResourceBucketsCollection = resource.buckets
types_aiobotocore_s3.literals
module contains literals extracted from shapes
that can be used in user code for type checking.
Full list of S3
Literals can be found in
docs.
from types_aiobotocore_s3.literals import AnalyticsS3ExportFileFormatType
def check_value(value: AnalyticsS3ExportFileFormatType) -> bool: ...
types_aiobotocore_s3.type_defs
module contains structures and shapes
assembled to typed dictionaries and unions for additional type checking.
Full list of S3
TypeDefs can be found in
docs.
# TypedDict usage example
from types_aiobotocore_s3.type_defs import AbortIncompleteMultipartUploadTypeDef
def get_value() -> AbortIncompleteMultipartUploadTypeDef:
return {
"DaysAfterInitiation": ...,
}
Fully automated
mypy-boto3-builder carefully
generates type annotations for each service, patiently waiting for
aiobotocore
updates. It delivers drop-in type annotations for you and makes
sure that:
aiobotocore
services are covered.aiobotocore
service gets valid type
annotations extracted from botocore
schemas.boto3
, botocore
, aiobotocore
and aioboto3
librariesmypy
, pyright
, VSCode
, PyCharm
, Sublime Text
and Emacs
compatibilityClient
, ServiceResource
, Resource
, Waiter
Paginator
type
annotations for each serviceTypeDefs
for each serviceLiterals
for each serviceboto3.client
and boto3.resource
callssession.client
and session.resource
callsclient.get_waiter
and client.get_paginator
callsServiceResource
and Resource
collectionsaiobotocore.Session.create_client
callsBuilder changelog can be found in Releases.
types-aiobotocore-s3
version is the same as related aiobotocore
version and
follows
Python Packaging version specifiers.
All services type annotations can be found in aiobotocore docs
This package is auto-generated. Please reports any bugs or request new features in mypy-boto3-builder repository.
FAQs
Type annotations for aiobotocore S3 2.21.1 service generated with mypy-boto3-builder 8.10.0
We found that types-aiobotocore-s3 demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Malicious npm packages posing as Telegram bot libraries install SSH backdoors and exfiltrate data from Linux developer machines.
Security News
pip, PDM, pip-audit, and the packaging library are already adding support for Python’s new lock file format.
Product
Socket's Go support is now generally available, bringing automatic scanning and deep code analysis to all users with Go projects.