Metadata-Version: 2.1
Name: sqspy
Version: 1.0.0
Summary: AWS SQS utility package for producing and consuming messages
Home-page: https://github.com/hjpotter92/sqspy
Author: hjpotter92
Author-email: sqspy@pypi.hjpotter92.email
License: MIT
Project-URL: Documentation, https://sqspy.rtfd.io/
Project-URL: Code coverage, https://app.codecov.io/gh/hjpotter92/sqspy
Project-URL: Builds history, https://travis-ci.com/hjpotter92/sqspy
Keywords: aws sqs messages producer consumer
Platform: any
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: Implementation
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.6
Requires-Dist: boto3 (>=1)

============
Introduction
============

.. image:: https://codecov.io/gh/hjpotter92/sqspy/branch/master/graph/badge.svg?token=6XLSO7NPF9
   :target: https://codecov.io/gh/hjpotter92/sqspy
   :alt: Code coverage
.. image:: https://pyup.io/repos/github/hjpotter92/sqspy/shield.svg
   :target: https://pyup.io/repos/github/hjpotter92/sqspy/
   :alt: Updates
.. image:: https://readthedocs.org/projects/sqspy/badge/?version=latest
   :target: https://sqspy.docs.hjpotter92.tech/en/latest/?badge=latest
   :alt: Documentation Status
.. image:: https://travis-ci.com/hjpotter92/sqspy.svg?branch=master
   :target: https://travis-ci.com/hjpotter92/sqspy
   :alt: Build status
.. image:: https://img.shields.io/lgtm/grade/python/g/hjpotter92/sqspy.svg?logo=lgtm&logoWidth=18
   :target: https://lgtm.com/projects/g/hjpotter92/sqspy/context:python
   :alt: Language grade:: Python

A more pythonic approach to SQS producer/consumer utilities. Heavily
inspired from the `the pySqsListener
<https://pypi.org/project/pySqsListener/>`_ package.

Install
=======

.. code-block:: shell

   pip install sqspy

Usage
=====

.. code-block:: python

   from sqspy import Consumer

   class MyWorker(Consumer):
       def handle_message(self, body, attributes, message_attributes):
           print(body)

   listener = MyWorker('Q1', error_queue='EQ1')
   listener.listen()

More documentation coming soon.

Why
===

The mentioned project had a few issues which I faced while trying to
implement at my organisation. The local environment testing setup was
very flaky. The signatures for ``sqs_listener`` and ``sqs_producer``
were very different from each other.

This rewrite supports **python 3.6+ versions only**, and makes use of
a lot of newer python features. It also makes use of service resources
(for lazy calls) from the boto3 library instead of making calls via
the low level client.


