Skip to main content

Helper utilities for boto3

Project description

boto3-helpers

This is the documentation for the boto3_helpers package, a Python library that aims to provide a smoother interface for some of the functions in the AWS boto3 <https://github.com/boto/boto3>_ package.

You know how to install it:

.. code-block:: sh

pip install boto3-helpers

Have you ever seen anybody make this mistake?

.. code-block:: python

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

# 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:

.. code-block:: python

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

# 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:

.. code-block:: python

    from boto3 import resource as boto3_resource
    from boto3.dynamodb.conditions import Key, Attr
    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

See the full documentation <https://boto3-helpers.readthedocs.io>_.

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

Uploaded Source

Built Distribution

boto3_helpers-1.0.0-py3-none-any.whl (9.9 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for boto3-helpers-1.0.0.tar.gz
Algorithm Hash digest
SHA256 6fa8721898659ccf18b0e58a4da9881104998f2318ce17bf5a0f3388361eefc6
MD5 ac7868012f617f8813de2ee94885c552
BLAKE2b-256 f3529fb3586f271f67dbd47fe68ae62ff00663169dd546779e8044930d71cf63

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for boto3_helpers-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cc9fe307e47bf3e2dbdc0bde346545e520a3363390bd539c548a8ecbbe48c6eb
MD5 b63ee72235e27aa9563d0717f81c7cbd
BLAKE2b-256 e2de6831f8fc24b60d0f7bfcb9b5d1cacd9b31af9aea235dd1a47e585f944342

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