Skip to content

A Python library for interacting with AWS S3 and DynamoDB

License

Notifications You must be signed in to change notification settings

negillett/chexus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

26944ae · Sep 28, 2020

History

84 Commits
Jan 29, 2020
May 8, 2020
Feb 4, 2020
Feb 28, 2020
Jan 29, 2020
May 8, 2020
Jan 23, 2020
Jan 23, 2020
Jan 23, 2020
Jan 31, 2020
Mar 26, 2020
Jan 23, 2020
Jan 23, 2020
Sep 28, 2020
Jan 23, 2020
Jan 23, 2020
Feb 5, 2020
Mar 26, 2020
Feb 6, 2020
Jan 29, 2020

Repository files navigation

chexus

A Python library for interacting with AWS S3 and DynamoDB

Build Status Coverage Status

Usage Example

from chexus import Client, BucketItem, TableItem

# Make a client pointing at an AWS account using IAM credentials.
client = Client(
    access_id="AKIAUB24K6XOZITDKHY",
    access_key="iJg8jG0DLIrzVpQs4Sj5LerxPtVyY4QG7sYv8bk",
    default_region="us-west-1"
)

# Create an item to upload to an S3 bucket...
upload_item = BucketItem(file_path="mnt/my/os-3/new-file")

# ...and/or an item to publish to a DynamoDB table.
put_item = TableItem(Name=upload_item.name, Checksum=upload_item.checksum)

# Then perform these actions using the client.
client.upload(items=upload_item, bucket_name="my-bucket")
client.publish(items=put_item, table_name="my-table")

Development

Patches may be contributed via pull requests to https://github.com/nathanegillett/chexus.

All changes must pass the automated test suite, along with various static checks.

The Black code style is enforced. Enabling autoformatting via a pre-commit hook is recommended:

pip install -r requirements-dev.txt
pre-commit install

License

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.