Skip to main content

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.

Metadata

Release files for boto3-helpers 2.6.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for boto3-helpers 2.6.0
File Size Uploaded
boto3_helpers-2.6.0.tar.gz 21.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for boto3-helpers 2.6.0
File Interpreter ABI Platform
boto3_helpers-2.6.0-py3-none-any.whl Python 3 none any Details

Total release size: 47.7 kB

Release files / boto3_helpers-2.6.0.tar.gz

Download URL boto3_helpers-2.6.0.tar.gz
Size 21.8 kB
Tags Source
SHA-256 checksum
How to use checksums
0ca433164cb9db0eba8bb18656a95102980b9850a1916528438e87227ade70d2
BLAKE2b-256 checksum
How to use checksums
d53e778987c5c3c123182042f8a59760846862b963ca9d27d20706de8e8387f9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.10.11

Release files / boto3_helpers-2.6.0-py3-none-any.whl

Download URL boto3_helpers-2.6.0-py3-none-any.whl
Size 25.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3719e934029729d3bdf95e18439af1ddf0646f858501e807335c240e31cac8d8
BLAKE2b-256 checksum
How to use checksums
6b7bcff92b88349c3f494cf4d37a09aa9ce261b4f488bb6dbeb1f78d6a7d5c7a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.10.11

Release history Release notifications | RSS feed

This release

2.6.0 This release

2 release files

2.5.0

2 release files

2.4.0

2 release files

2.3.0

2 release files

2.2.0

2 release files

2.1.0

2 release files

2.0.0

2 release files

1.4.0

2 release files

1.3.0

2 release files

1.2.0

2 release files

1.1.0

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page