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)
| File | Size | Uploaded | |
|---|---|---|---|
| boto3_helpers-2.6.0.tar.gz | 21.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|