Skip to content

Pseudo type check for boto3 service resource instances

License

Notifications You must be signed in to change notification settings

j4c0bs/boto3-type

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

boto3-type

Lightweight type check for boto3 service, resource instances.

Install:

pip install boto3_type

Problem:

In [1]: import boto3

In [2]: import botocore

In [3]: s3 = boto3.client("s3")

In [4]: type(s3)
Out[4]: botocore.client.S3

In [5]: isinstance(s3, botocore.client.S3)
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-5-a7f37740cc80> in <module>
----> 1 isinstance(s3, botocore.client.S3)

AttributeError: module 'botocore.client' has no attribute 'S3'

Usage:

In [1]: import boto3

In [2]: import boto3_type as bt

In [3]: client = boto3.client("ecs")

In [4]: resource = boto3.resource("s3")

In [5]: bucket = resource.Bucket("test-bucket")

In [6]: bt.is_client(client)
Out[6]: True

In [7]: bt.client.istype(client, "ecs")
Out[7]: True

In [8]: bt.is_resource(resource)
Out[8]: True

In [9]: bt.resource.istype(resource, "s3")
Out[9]: True

In [10]: bt.s3.istype(bucket, "bucket")
Out[10]: True

In [11]: bt.is_resource(client)
Out[11]: False

In [12]: bt.is_client(resource)
Out[12]: False

About

Pseudo type check for boto3 service resource instances

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages