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.5.0.tar.gz (32.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

boto3_helpers-2.5.0-py3-none-any.whl (25.2 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for boto3-helpers-2.5.0.tar.gz
Algorithm Hash digest
SHA256 aa00161dcdefee3898ad9bc9a76a8c8560e03cc793f629deeace9bc535290f7c
MD5 e9b490a4817bfda65039d2bf223fab48
BLAKE2b-256 a02257e2247a062896749c37f3b79fe913fe8c77fc7281d24d577a85db96a506

See more details on using hashes here.

File details

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

File metadata

  • Download URL: boto3_helpers-2.5.0-py3-none-any.whl
  • Upload date:
  • Size: 25.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.7

File hashes

Hashes for boto3_helpers-2.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 51f02c9e7c363684b0ab5f3e2bc17f01faecc94f6a6877ca1340c9fffe487ac7
MD5 bb88772f889c6e785255e1b40b7ddae2
BLAKE2b-256 3a40178ce1b04ebf41c63fd4dc4b1385763bf60d974d79ff1a0e62f0f62db986

See more details on using hashes here.

Supported by

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