Frequently used utilities and code.


License
Apache-2.0
Install
pip install tlx==0.1.123

Documentation

TLX

Build Status

Tools for working with AWS.

Install

pip install tlx

CLI apps

Tools that should be in the awscli but aren't or don't function well. All have --help for details.

All CLI applications have their own detailed help menus. Currently available tools are:

function description
get-aws-creds returns temporary session credentials. Locally mock AWS runtime environments, debugging IAM etc
dynamo-batch-write loads scan results into a dynamo table. Much better than awscli option
$ dynamo-batch-write --help
Usage: dynamo-batch-write [OPTIONS]

  DYNAMO BATCH WRITE

  Loads the results of a scan opperation into a table.

  Details:
  Takes the output of a `scan` operation such as: `aws dynamodb scan --table-name <TableName>`
  and writes to an existing table. Similar to the `aws dynamodb batch-write-item` command except:
      - No limit to amount of items in the upload (25 with awscli)
      - Take the output of a table scan, requiring no reformatting

Options:
  -d, --dump-file FILENAME  File dumped from dynamodb with a `scan`.  [required]
  -t, --table TEXT          Table to send data to. Table must exist and key schema must match.  Use `aws dynamodb
                            describe-table --table-name <TableName>`  [required]
  -h, --help                Show this message and exit.

Module Summary

Import these in a python program or shell.

function description
tlx.apigateway Reduce boilerplate when using proxy response lambdas with API Gateway
tlx.dynamodb clear_table, batch loaders for csv bigquery and functions for nested data reliably
tlx.util Extra tools such as: better boto3 Session, generic paginator that works on all boto3 calls + more

See Submodule docs for more examples.

Light install

If this grows too large it may become a namespace package so that individual parts can be installed easily. But until that time if you need a tool and only that tool, say for a deployment to AWS lambda or GCP App Engine, then:

  1. Do a local install without dependencies: pip install --no-deps -t package/location/ tlx
  2. Run your project and install the dependencies as you encounter import errors.