Skip to main content

Helper utilities for boto3

Project description

boto3_helpers is a Python library that aims to provide a smoother interface for some of the functions in the AWS boto3 package.

You know how to install it:

pip install boto3-helpers

Have you ever seen anybody make this mistake?

from boto3 import resource as boto3_resource
from boto3.dynamodb.conditions import Key

# Don't do this; you'll miss out if there is more than one page
ddb_table = boto3.resource('dynamodb').Table('example-table')
resp = ddb_table.query(
    KeyConditionExpression=Key('username').eq('johndoe')
)
for item in resp.get('Items', []):
    print(item)

What they should have done is this:

from boto3 import resource as boto3_resource
from boto3.dynamodb.conditions import Key

# Loop through all the pages
ddb_table = boto3.resource('dynamodb').Table('example-table')
kwargs = {'KeyConditionExpression': Key('username').eq('johndoe')}
while True:
    resp = ddb_table.query(**kwargs)
    for item in resp.get('Items', []):
        print(item)
    if 'LastEvaluatedKey' not in resp:
        break
    kwargs['ExclusiveStartKey'] = resp['LastEvaluatedKey']

With boto3_helpers, you can do the right thing more easily:

from boto3 import resource as boto3_resource
from boto3.dynamodb.conditions import Key
from boto3_helpers.dynamodb import query_table

ddb_table = boto3.resource('dynamodb').Table('example-table')
for item in query_table(
    ddb_table, KeyConditionExpression=Key('username').eq('johndoe')
):
    print(item)

This package provides helper functions for several similar actions in AWS, such as:

  • Paging through S3 listings

  • Updating items in DynamoDB

  • Assuming roles with STS

  • Sending and deleting messages with SQS

  • Pulling metric data from CloudWatch

See the latest docs for more.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

boto3-helpers-2.1.0.tar.gz (29.0 kB view details)

Uploaded Source

Built Distribution

boto3_helpers-2.1.0-py3-none-any.whl (23.2 kB view details)

Uploaded Python 3

File details

Details for the file boto3-helpers-2.1.0.tar.gz.

File metadata

  • Download URL: boto3-helpers-2.1.0.tar.gz
  • Upload date:
  • Size: 29.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.7

File hashes

Hashes for boto3-helpers-2.1.0.tar.gz
Algorithm Hash digest
SHA256 43eb9637bd1823fac4f793aac1a4f0cff99bdc72e37d06ab4059216274ade3f7
MD5 213cbacd76220bd75ed82d148b4a3b8d
BLAKE2b-256 64607e2f1c1a4b92dc4f95b03784b7fbe29ffb22a80d585da648b41b3c6dbf19

See more details on using hashes here.

File details

Details for the file boto3_helpers-2.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for boto3_helpers-2.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4f9cd8c2d84dd9221a87e9e278ae8d197b4dd377f4cee05428a5d5010abd0bfd
MD5 7e4df585f2f146ef04154bbdf148093c
BLAKE2b-256 0c65926efc89d9f836627dd3f9d5062bcfccc10d2cf71ea5030a8ea5acfbfe92

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page