{ "info": { "author": "Travis Mehlinger", "author_email": "tmehlinger@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5" ], "description": "Squishy\n=======\n\n.. image:: https://circleci.com/gh/tmehlinger/squishy/tree/master.svg?style=shield\n :target: https://circleci.com/gh/tmehlinger/squishy/tree/master\n.. image:: https://coveralls.io/repos/github/tmehlinger/squishy/badge.svg?branch=master\n :target: https://coveralls.io/github/tmehlinger/squishy?branch=master\n\n\nSquishy is a simple Amazon SQS consumer for Python. Many versions of Python\nare supported, including 2.7, 3.3, 3.4, and 3.5. 2.6 should work but it is\nuntested and unsupported.\n\nThis is currently *beta* software! It has a suite of tests and it's being used\nfor non-critical production tasks but it is still very young software.\n\n\nInstalling\n----------\n\nInstall from pypi: ``pip install squishy``\n\n\nDeveloping\n----------\n\n* Create a virtualenv.\n* Clone the repo.\n* Install the requirements. If you want to use the futures workers on Python\n 2.7, be sure to install `futures `_.\n* Run ``python setup.py develop`` to get the ``squishy`` CLI tool.\n\n\nUsing\n-----\n\nSquishy provides a CLI to run a worker that will dispatch messages to a\ncallback you define. The callback should accept a single parameter\nrepresenting a single message consumed from an SQS queue. The message will be\nan instance of `SQS.Message `_.\n\nExample:\n\n.. code-block:: python\n\n # my_consumer.py\n\n def my_callback(message):\n print('Got a message! Contents:', message.body)\n\nThen on the command line:\n\n``$ squishy run_consumer https://sqs.us-east-1.amazonaws.com/12345/my_queue my_consumer:my_callback``\n\n\nAuthentication\n--------------\n\nSquishy uses boto3, which will automatically load credentials from\n``$HOME/.aws/credentials``. If you need more control over authentication, you can\ngive Squishy a factory function for creating a custom session.\n\n\nCLI reference\n-------------\n\n::\n\n $ squishy --help\n Usage: squishy [OPTIONS] COMMAND [ARGS]...\n\n Options:\n --log-level [debug|info|warning|error|critical]\n Logging level.\n --botocore-log-level [debug|info|warning|error|critical]\n botocore logging level.\n --version Show the version and exit.\n --help Show this message and exit.\n\n Commands:\n run_consumer\n\n\n $ squishy run_consumer --help\n Usage: squishy run_consumer [OPTIONS] QUEUE_URL CALLBACK\n\n Options:\n --session-factory TEXT Factory function for a custom boto3.Session.\n -c, --concurrency INTEGER Worker concurrency.\n -m, --polling-method [long|short]\n Polling method.\n -t, --polling-timeout INTEGER Polling interval in seconds.\n -n, --polling-count INTEGER Number of messages to fetch when polling.\n -w, --worker-class [futures_process|futures_thread|gevent|mp_process|mp_thread]\n Worker class.\n --help Show this message and exit.\n\n\nChangelog\n=========\n\n0.1.1\n-----\n\nBug fixes\n^^^^^^^^^\n* The string used to import a callback now much have a colon in it, matching the behavior of setuptools. This was implied before but not required.\n* The gevent worker no longer fails with an AttributeError when processing messages.\n\nNew features\n^^^^^^^^^^^^\n* Vastly improved test coverage.\n\n\n0.1.0\n-----\n\n**BREAKING CHANGES**\n^^^^^^^^^^^^^^^^^^^^\n* The consumer now dispatches an ``SQS.Message`` instance to the callback instead of dictionary.\n\nBug fixes\n^^^^^^^^^\n* Fixed a bug in the multiprocessing workers where they would iterate infinitely if the callback raised an exception.\n\nNew features\n^^^^^^^^^^^^\n* Squishy now has unit tests!\n\n0.0.3\n-----\n\nBug fixes\n^^^^^^^^^\n* Fixed relative imports for modules that have the same name as a package. (Alejandro Mesa)\n* Fixed missing import for gevent.monkey. (Alejandro Mesa)\n* Fixed a bug with passing the message to the worker process without unpacking the dictionary. (Alejandro Mesa)\n* Fixed a bug where the worker would fail to handle keyboard interrupts. (Alejandro Mesa)\n* Fixed a bug with deleting keys from the results_to_message list while iterating through the list. (Alejandro Mesa)\n\n0.0.2\n-----\n\nBug fixes\n^^^^^^^^^\n* Switched to RST to be PyPI-friendly.\n\n\n0.0.1\n-----\n\n* First release.\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/tmehlinger/squishy", "keywords": "squishy", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "squishy", "package_url": "https://pypi.org/project/squishy/", "platform": "", "project_url": "https://pypi.org/project/squishy/", "project_urls": { "Homepage": "https://github.com/tmehlinger/squishy" }, "release_url": "https://pypi.org/project/squishy/0.1.1/", "requires_dist": [ "boto3 (>=1.3.0)", "click (>=6.6)", "six (>=1.10.0)", "gevent (>=1.1.0); extra == 'gevent'" ], "requires_python": "", "summary": "A simple Amazon SQS consumer library.", "version": "0.1.1" }, "last_serial": 2361768, "releases": { "0.0.2": [ { "comment_text": "", "digests": { "md5": "8b5607d39f15f9e8cef8e854b2796f3c", "sha256": "7a9a72c6d2c9c1c9d07742d6d7f3f0b99f7acfc98d280991b0c0ab8b7a5a7443" }, "downloads": -1, "filename": "squishy-0.0.2.tar.gz", "has_sig": false, "md5_digest": "8b5607d39f15f9e8cef8e854b2796f3c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8635, "upload_time": "2016-05-02T01:02:51", "url": "https://files.pythonhosted.org/packages/d4/44/5f71aec6954299463d9371b1c9e0e607ca1671c3bf17ff15b97e8a4f85ec/squishy-0.0.2.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "727fa2848e4d76847e7f7eb34b72b0bf", "sha256": "711b0af88480ebcbd8d7d3b942d99f91d4a1b90356c3d4da0c3a6a62f8b999fd" }, "downloads": -1, "filename": "squishy-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "727fa2848e4d76847e7f7eb34b72b0bf", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 12802, "upload_time": "2016-07-01T14:46:40", "url": "https://files.pythonhosted.org/packages/ad/00/dfc64504bbb36b93185c907ad05ff9a1b6c3dd0ee2dc1f239e8845b00dec/squishy-0.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6b7f73be6ce5cd540b7fd8878b793498", "sha256": "43c05ce08a5c24e99444a3a87b2a3e8b1eb662b973d03ab82394d7c70cbb5fb6" }, "downloads": -1, "filename": "squishy-0.0.3.tar.gz", "has_sig": false, "md5_digest": "6b7f73be6ce5cd540b7fd8878b793498", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9054, "upload_time": "2016-07-01T14:46:46", "url": "https://files.pythonhosted.org/packages/2a/5d/74f535152fff81776e12db2b8565d42dc72d8d2a43fc25d5e234c6b4b863/squishy-0.0.3.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "509a58f900bc4597b86e47669753a1dd", "sha256": "68bd3daa3106922ce944d67694e1233aaea5bed5e8b50bb3c831662515bdde93" }, "downloads": -1, "filename": "squishy-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "509a58f900bc4597b86e47669753a1dd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13954, "upload_time": "2016-09-24T01:56:07", "url": "https://files.pythonhosted.org/packages/57/2d/7386141075662e8a5d4859ec88dd91b42001ee2a7397db3c6b2983620947/squishy-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "02eeeeff84615eb996fe0aac414a0e5f", "sha256": "52fa5b62940c2e4291f8a2a39924a8afea3d26b7cb28022c40083f438d410e2c" }, "downloads": -1, "filename": "squishy-0.1.0.tar.gz", "has_sig": false, "md5_digest": "02eeeeff84615eb996fe0aac414a0e5f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10052, "upload_time": "2016-09-24T01:55:57", "url": "https://files.pythonhosted.org/packages/be/0b/638d66cc6c912fcb37ab414addb4fd294930e6fd30db802545048ca85a46/squishy-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "58157d18278bf40b59fbcd49fe4837ce", "sha256": "8738273ea80ac51c4db26ce56e079a3fbaef9d310f55fd64674d6fae9e478374" }, "downloads": -1, "filename": "squishy-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "58157d18278bf40b59fbcd49fe4837ce", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 14674, "upload_time": "2016-09-24T20:49:22", "url": "https://files.pythonhosted.org/packages/8c/92/96b97496db6a2c7c8974870898de13be4682c21c22811b9ca3eb9e6c9b62/squishy-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6b27c7addd6d94f3fa7f1dbec2d536ad", "sha256": "1b3f91b9e03a5d7aed2e0be6d7a143cad1c712baff9eafefabe87111afcbe6b7" }, "downloads": -1, "filename": "squishy-0.1.1.tar.gz", "has_sig": false, "md5_digest": "6b27c7addd6d94f3fa7f1dbec2d536ad", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10470, "upload_time": "2016-09-24T20:49:35", "url": "https://files.pythonhosted.org/packages/28/5b/7958b6029e560c29d54b2df330c2af4589ec825ee85626f92d909c9e40bf/squishy-0.1.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "58157d18278bf40b59fbcd49fe4837ce", "sha256": "8738273ea80ac51c4db26ce56e079a3fbaef9d310f55fd64674d6fae9e478374" }, "downloads": -1, "filename": "squishy-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "58157d18278bf40b59fbcd49fe4837ce", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 14674, "upload_time": "2016-09-24T20:49:22", "url": "https://files.pythonhosted.org/packages/8c/92/96b97496db6a2c7c8974870898de13be4682c21c22811b9ca3eb9e6c9b62/squishy-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6b27c7addd6d94f3fa7f1dbec2d536ad", "sha256": "1b3f91b9e03a5d7aed2e0be6d7a143cad1c712baff9eafefabe87111afcbe6b7" }, "downloads": -1, "filename": "squishy-0.1.1.tar.gz", "has_sig": false, "md5_digest": "6b27c7addd6d94f3fa7f1dbec2d536ad", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10470, "upload_time": "2016-09-24T20:49:35", "url": "https://files.pythonhosted.org/packages/28/5b/7958b6029e560c29d54b2df330c2af4589ec825ee85626f92d909c9e40bf/squishy-0.1.1.tar.gz" } ] }