A simple library for interacting with Amazon SQS.
qoo is a very simple Amazon SQS client, written in Python. It aims to be much more straight-forward to use than boto3, and specializes only in Amazon SQS, ignoring the rest of the AWS ecosystem.
Easier interaction with SQS queues
Automatic support for AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, and AWS_DEFAULT_REGION environment variables.
automatic useful message/job metadata
pip install qoo
import qoo # list SQS queue names qoo.list_queues() # get an existing queue queue = qoo.get("$QUEUE_NAME") # or create a queue queue = qoo.create("$QUEUE_NAME") # send a job, pass info/keys as kwargs queue.send(info="foo", user_id="test_user") # etc. # get an approximate count of messages in the queue len(queue) # approximate total messages queue.approx_not_visible # approximate number of message in the visibility timeout # get a job job = queue.receive(wait_time=1) job.elapsed # time between sending the job and receiving it job.md5_matches # boolean property to show that the md5 of the job matches what was sent # and the data from the job is automatically converted into attrs job.info # the string "foo" job.user_id # the string "test_user" # delete the job from the SQS queue job.delete()
Tests can be run with tox!
# run tests tox
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.