{ "info": { "author": "aohan237", "author_email": "aohan237@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Web Environment", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: POSIX", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Software Development", "Topic :: Software Development :: Libraries" ], "description": "# asyncnsq\n[![Downloads](https://pepy.tech/badge/asyncnsq)](https://pepy.tech/project/asyncnsq)\n[![PyPI version](https://badge.fury.io/py/asyncnsq.svg)](https://badge.fury.io/py/asyncnsq)\n\n## async nsq with python3.6 await/async supported\n\n**if you dont like the pynsq(which use tornado) way to interact with nsq, then this library may be suitable for you**\n\nyou can use this library as the common way to write things\n\n## Important\n\n* #### from version 1.0.0 asyncnsq has a break change in api\n\n* #### it is not stable yet\n\n* #### you may want to use stable \" pip install asyncnsq==0.4.5\"\n\n## Features\n\n--------------\n\n### Http Client\n\n* support all the method nsq http supplied\n\n### Tcp Client\n\n#### Connection\n\n* low level connection.\n\n#### Reader\n\n* reader from both lookupd for auto finding nsqd\n\n* list of known nsqd but they can not use together.\n\n* above two can't use together\n\n#### Writer\n\n* all the common method for nsqd writer\n\n## Install\n\n--------------\n\npip install asyncnsq\n\n## Usage examples\n\n--------------\n\nAll you need is a loop, then enjoy. you can refer to examples, as well.\n\nConsumer:\n\n```python\nfrom asyncnsq import create_reader\nfrom asyncnsq.utils import get_logger\n\nloop = asyncio.get_event_loop()\nasync def go():\n try:\n reader = await create_reader(\n nsqd_tcp_addresses=['127.0.0.1:4150'],\n max_in_flight=200)\n await reader.subscribe('test_async_nsq', 'nsq')\n async for message in reader.messages():\n print(message.body)\n await message.fin()\n except Exception as tmp:\n self.logger.exception(tmp)\nloop.run_until_complete(go())\n```\n\nProducer:\n```python\nfrom asyncnsq import create_writer\nloop = asyncio.get_event_loop()\nasync def go():\n writer = await create_writer(host='127.0.0.1', port=4150,\n heartbeat_interval=30000,\n feature_negotiation=True,\n tls_v1=True,\n snappy=False,\n deflate=False,\n deflate_level=0,\n loop=loop)\n for i in range(100):\n await writer.pub('test_async_nsq', 'test_async_nsq:{i}'.format(i=i))\n await writer.dpub('test_async_nsq', i * 1000,\n 'test_delay_async_nsq:{i}'.format(i=i))\nloop.run_until_complete(go())\n```\n\nRequirements\n------------\n\n* Python_ 3.5+ https://www.python.org\n* nsq_ http://nsq.io\n\n* python-snappy\n 1. ubuntu:\n - sudo apt-get install libsnappy-dev\n - pip install python-snappy\n 2. centos:\n - sudo yum install snappy-devel\n - pip install python-snappy\n 3. mac:\n - brew install snappy # snappy library from Google\n - CPPFLAGS=\"-I/usr/local/include -L/usr/local/lib\" pip install python-snappy\n\nLicense\n-------\n\nThe asyncnsq is offered under MIT license.\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/aohan237/asyncnsq", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "asyncnsq", "package_url": "https://pypi.org/project/asyncnsq/", "platform": "POSIX", "project_url": "https://pypi.org/project/asyncnsq/", "project_urls": { "Homepage": "https://github.com/aohan237/asyncnsq" }, "release_url": "https://pypi.org/project/asyncnsq/1.1.2/", "requires_dist": [ "python-snappy", "aiohttp" ], "requires_python": "", "summary": "asyncio async/await nsq support", "version": "1.1.2" }, "last_serial": 6002385, "releases": { "0.2.0": [ { "comment_text": "", "digests": { "md5": "ff401399feddb2f15f5ce5403df66632", "sha256": "f131c25a44ecb2a39cb859d6de630076913b72a7e7ebd00294295d7521efbff0" }, "downloads": -1, "filename": "asyncnsq-0.2.0-py3.6.egg", "has_sig": false, "md5_digest": "ff401399feddb2f15f5ce5403df66632", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 44969, "upload_time": "2017-10-13T03:01:13", "url": "https://files.pythonhosted.org/packages/27/10/3db26683a4a6ae00e41363a9e09e61fd82b0d07c558bb0038d4fd0afb3ec/asyncnsq-0.2.0-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "da704b5899c9dd832f5e059a35f508a3", "sha256": "d71edfd5969618397f8f9ba0e4b497b2b71393a5e50490c2630ac0483db15298" }, "downloads": -1, "filename": "asyncnsq-0.2.0.tar.gz", "has_sig": false, "md5_digest": "da704b5899c9dd832f5e059a35f508a3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12934, "upload_time": "2017-10-13T03:01:10", "url": "https://files.pythonhosted.org/packages/df/73/95de2a6a881d9881b133793f96d5839182bab01cfbc06d0914db892452f7/asyncnsq-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "80d09b592d341d63ff6e3c63d0ca8439", "sha256": "a8540091b6a251e1adf4296f8d23bada35695c518c0e5fc300b30091cac4de59" }, "downloads": -1, "filename": "asyncnsq-0.2.1-py3.6.egg", "has_sig": false, "md5_digest": "80d09b592d341d63ff6e3c63d0ca8439", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 44970, "upload_time": "2017-10-13T03:04:16", "url": "https://files.pythonhosted.org/packages/5c/30/1a58ca7764331cb0bf77b3716ae95243ce69b5c359db5cef29f0a377d059/asyncnsq-0.2.1-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "17bd5c579efefc39b7cdeab10c3c4356", "sha256": "ea80b27b3bd3612006822556e88caaf284f34607c4ba21323e923007d355b7e9" }, "downloads": -1, "filename": "asyncnsq-0.2.1.tar.gz", "has_sig": false, "md5_digest": "17bd5c579efefc39b7cdeab10c3c4356", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12938, "upload_time": "2017-10-13T03:04:12", "url": "https://files.pythonhosted.org/packages/73/98/3b7f33142ea4ac3bf61f12ba17d5a0b3dced48a42da175faa63d2a417533/asyncnsq-0.2.1.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "71df7550222628d85310adaed3ff579e", "sha256": "d510509ab58f4ed27d6fa5296b7fd29d3bb95aa72add6a96ec8dbb30232af75f" }, "downloads": -1, "filename": "asyncnsq-0.3.0.tar.gz", "has_sig": false, "md5_digest": "71df7550222628d85310adaed3ff579e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14391, "upload_time": "2017-11-19T09:18:51", "url": "https://files.pythonhosted.org/packages/1f/e8/7a3536836389a73b467f8457442221a3d1ab6d52defff07bfca0e3150370/asyncnsq-0.3.0.tar.gz" } ], "0.3.3": [ { "comment_text": "", "digests": { "md5": "d798c2185e792cb648a571648520459d", "sha256": "6a625ecdd68ee129cc57f009b954b53bb9149d99ac4015eb0bd48d1d1edcb111" }, "downloads": -1, "filename": "asyncnsq-0.3.3.tar.gz", "has_sig": false, "md5_digest": "d798c2185e792cb648a571648520459d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14764, "upload_time": "2017-11-24T15:59:39", "url": "https://files.pythonhosted.org/packages/fe/dc/94221e5f08f92f05bdb7c79fa1dd186e5ce4c9e81e08a6b5301937b4b5ba/asyncnsq-0.3.3.tar.gz" } ], "0.3.4": [ { "comment_text": "", "digests": { "md5": "df0861ef6869300389bf645bc29ed44c", "sha256": "4436b488c7b017fc306fdda49646eb96102199424c4baa5bd1066c2f1a051616" }, "downloads": -1, "filename": "asyncnsq-0.3.4.tar.gz", "has_sig": false, "md5_digest": "df0861ef6869300389bf645bc29ed44c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14771, "upload_time": "2017-11-24T16:01:06", "url": "https://files.pythonhosted.org/packages/89/e7/1c6472c9f386891b6761530125541724f080042eca099adca90f6b34907e/asyncnsq-0.3.4.tar.gz" } ], "0.3.5": [ { "comment_text": "", "digests": { "md5": "6c35e4cd0fa437e1faf49fdc387c20e8", "sha256": "0e33e472c73c55526895d396ba7c787e494033f4f23041d01b8c9b3b2a68f0ed" }, "downloads": -1, "filename": "asyncnsq-0.3.5.tar.gz", "has_sig": false, "md5_digest": "6c35e4cd0fa437e1faf49fdc387c20e8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14745, "upload_time": "2017-11-25T12:13:46", "url": "https://files.pythonhosted.org/packages/ed/96/4543ffc4067c29a8d55b256e137f2ae3166d09693d8ec2787746c0e88aa2/asyncnsq-0.3.5.tar.gz" } ], "0.3.6": [ { "comment_text": "", "digests": { "md5": "2bcd6aa0825a9af49634cb6cadf4e9fb", "sha256": "748c17453f3e94d32934dd478427c50180a7fc726fe68b25d82473578655f0f6" }, "downloads": -1, "filename": "asyncnsq-0.3.6.tar.gz", "has_sig": false, "md5_digest": "2bcd6aa0825a9af49634cb6cadf4e9fb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14836, "upload_time": "2017-11-25T12:19:19", "url": "https://files.pythonhosted.org/packages/95/8a/4c9a1ab42f577fbb74406c8e63909d54b005c39da765e8f5f0abe07696e6/asyncnsq-0.3.6.tar.gz" } ], "0.3.7": [ { "comment_text": "", "digests": { "md5": "29cbaffdc31de498f618adcbb1f619e0", "sha256": "63124837af38d1fa0fb802c5cf7b504f09c9005214272377657a90bee1801b5c" }, "downloads": -1, "filename": "asyncnsq-0.3.7.tar.gz", "has_sig": false, "md5_digest": "29cbaffdc31de498f618adcbb1f619e0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14960, "upload_time": "2018-02-28T11:06:02", "url": "https://files.pythonhosted.org/packages/7f/57/4f1a2537e65360fd7b655df1ca6ea22a06a10b7c056449691ba3492817e9/asyncnsq-0.3.7.tar.gz" } ], "0.3.8": [ { "comment_text": "", "digests": { "md5": "6a5356b4d8a126b4ccc832ed1114091d", "sha256": "f6329c2ccbd62c48b589a49b0f13290b3f0710641b579ce30457b8a27cc02e5d" }, "downloads": -1, "filename": "asyncnsq-0.3.8.tar.gz", "has_sig": false, "md5_digest": "6a5356b4d8a126b4ccc832ed1114091d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15231, "upload_time": "2018-03-01T05:42:00", "url": "https://files.pythonhosted.org/packages/f6/25/48c21e762652fa5df0b35d6bbb6936bbb3960b3f3a57bdda6a8c53f12762/asyncnsq-0.3.8.tar.gz" } ], "0.3.9": [ { "comment_text": "", "digests": { "md5": "4259f60de3b16b95b0ac01e863c7c1c7", "sha256": "5fcde1bfbedd33103a3c398415de4901d77c4d88f6c461bcd74e04d8cfce8919" }, "downloads": -1, "filename": "asyncnsq-0.3.9.tar.gz", "has_sig": false, "md5_digest": "4259f60de3b16b95b0ac01e863c7c1c7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15324, "upload_time": "2018-03-01T05:47:00", "url": "https://files.pythonhosted.org/packages/83/46/1148589bea0c650162ab7876ff798d867bfa5c50513e1e6ae8855da6c656/asyncnsq-0.3.9.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "799e91db847a134106f4af12be0fe501", "sha256": "9ae5bc05b09e352c302b10706f336068e512726350f8b219323fbb3f49f7edcc" }, "downloads": -1, "filename": "asyncnsq-0.4.0.tar.gz", "has_sig": false, "md5_digest": "799e91db847a134106f4af12be0fe501", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15353, "upload_time": "2018-06-13T02:55:22", "url": "https://files.pythonhosted.org/packages/04/39/56bdf97a31b6239ec4df16b9863a439cfaa540437aba4819fcc205efc244/asyncnsq-0.4.0.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "1e2a225d02ac0fdeb08230e0c54333a7", "sha256": "97e69720053f4ec8dc328dc4b0cd8e92d51ac2bb452752485db646b6f254e152" }, "downloads": -1, "filename": "asyncnsq-0.4.1.tar.gz", "has_sig": false, "md5_digest": "1e2a225d02ac0fdeb08230e0c54333a7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15348, "upload_time": "2018-06-13T07:38:13", "url": "https://files.pythonhosted.org/packages/58/a3/d86492a02b0ee3b801b32ad3bce5018ec2c427020949791c023cc11c0057/asyncnsq-0.4.1.tar.gz" } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "16165bd89cdb45ff28c1d0d5a9833fe0", "sha256": "8f6857234855a3755b015ba76638aece009ddb63cc439609cfd787c8fa817b6f" }, "downloads": -1, "filename": "asyncnsq-0.4.2.tar.gz", "has_sig": false, "md5_digest": "16165bd89cdb45ff28c1d0d5a9833fe0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15393, "upload_time": "2018-06-22T02:39:13", "url": "https://files.pythonhosted.org/packages/9b/0d/1bd208e711615b2e6864ff10be9557281de79b33df5f726359426d344aa2/asyncnsq-0.4.2.tar.gz" } ], "0.4.3": [ { "comment_text": "", "digests": { "md5": "4af3c5bc2ede0bf6ca870267057a877b", "sha256": "d59e4c0ab70462733dd4c9c8b6d6c9cd358bb46726d068c83ad88be6df5df881" }, "downloads": -1, "filename": "asyncnsq-0.4.3.tar.gz", "has_sig": false, "md5_digest": "4af3c5bc2ede0bf6ca870267057a877b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15460, "upload_time": "2018-06-27T15:23:19", "url": "https://files.pythonhosted.org/packages/12/2a/2569dc07d9fdd5dc43d0bf9bbc269ae1bc1a8206931aa41c0f0b783dd8e1/asyncnsq-0.4.3.tar.gz" } ], "0.4.4": [ { "comment_text": "", "digests": { "md5": "d31db71af1e629e6b95b84dbaea61753", "sha256": "4bc2f549ab01b9815b1a36f047d9ae191d61aab60f04b478ef703cb45c25f085" }, "downloads": -1, "filename": "asyncnsq-0.4.4.tar.gz", "has_sig": false, "md5_digest": "d31db71af1e629e6b95b84dbaea61753", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15425, "upload_time": "2018-09-07T08:33:48", "url": "https://files.pythonhosted.org/packages/1b/b6/01ebd515017b18e38406062e8627b519cc5b734cd3f69e484475cd06c62d/asyncnsq-0.4.4.tar.gz" } ], "0.4.5": [ { "comment_text": "", "digests": { "md5": "684ebb83504acddbb1b712cb9828089e", "sha256": "9a69d7dd9595882deee5c42dcc324447d64c29a1979d0afffd2a4bf4d3789c59" }, "downloads": -1, "filename": "asyncnsq-0.4.5.tar.gz", "has_sig": false, "md5_digest": "684ebb83504acddbb1b712cb9828089e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15758, "upload_time": "2018-10-09T10:03:37", "url": "https://files.pythonhosted.org/packages/16/f5/a32fd8b9267e085065fde3a5c7bcbe2c54c0cb6fbd4c05f2e84323916d58/asyncnsq-0.4.5.tar.gz" } ], "0.4.6": [ { "comment_text": "", "digests": { "md5": "406ae9b7f7d3669cececa995b4acfcd6", "sha256": "f05dd86ccce2ab2d9c1e9f4b3f2be854542131c5d5cdcc6e08e01b86f69b021e" }, "downloads": -1, "filename": "asyncnsq-0.4.6-py3-none-any.whl", "has_sig": false, "md5_digest": "406ae9b7f7d3669cececa995b4acfcd6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 32227, "upload_time": "2018-11-26T14:07:28", "url": "https://files.pythonhosted.org/packages/c5/a4/0b50f3b74deee34c990883ed4c77ca0773d950396c665e12b08c989861a5/asyncnsq-0.4.6-py3-none-any.whl" } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "873f7835133a924bab15fa346e7ad576", "sha256": "acc45fd14f976f2cec52582a3803b00a4605cf4b74e99dac95264d55edd3db75" }, "downloads": -1, "filename": "asyncnsq-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "873f7835133a924bab15fa346e7ad576", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 30721, "upload_time": "2018-11-04T09:10:29", "url": "https://files.pythonhosted.org/packages/db/cd/daf999db32a1c3507f3debd5e6bdf74170ff29adc41069face38d5833322/asyncnsq-1.0.0-py3-none-any.whl" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "90fc16eca627d1fc9c36f44aea6ee934", "sha256": "432ef551f2cac581161828c6b7fa43b6779f330a337bd03fb6d779b34e7f88fb" }, "downloads": -1, "filename": "asyncnsq-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "90fc16eca627d1fc9c36f44aea6ee934", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 30972, "upload_time": "2018-11-07T03:45:14", "url": "https://files.pythonhosted.org/packages/7d/98/b4e6629a4f66d3d737ee0f422fe9e0e052577d6ee7b8962f14444f116705/asyncnsq-1.0.1-py3-none-any.whl" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "325c6099f9c1672de3c87a8a0de96210", "sha256": "f59d6a54036ae2aae63ee448af1d44b1d9815be2577a985ba7e44a3b79cd9702" }, "downloads": -1, "filename": "asyncnsq-1.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "325c6099f9c1672de3c87a8a0de96210", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 31000, "upload_time": "2018-12-10T07:10:02", "url": "https://files.pythonhosted.org/packages/2d/85/873d884cb15cc12b1774ee52b35b52ad3dfd61ea17404f9017e8c26cafb7/asyncnsq-1.1.0-py3-none-any.whl" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "2f4aa8f730a82ccad8a1c2ef8018b9ea", "sha256": "20a029476e7562ae4da346a3ae14ef7ef6669e7d765bce7564778bd52aabf376" }, "downloads": -1, "filename": "asyncnsq-1.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "2f4aa8f730a82ccad8a1c2ef8018b9ea", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 31519, "upload_time": "2019-07-03T10:23:46", "url": "https://files.pythonhosted.org/packages/07/e8/4b91ac601d615e4ada50887cdd78613620cb1180b83ce9c357dccfafd08f/asyncnsq-1.1.1-py3-none-any.whl" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "dc4505ae7cbed2f30068bd834075998c", "sha256": "c7310703e0c2769b703306ac42f317b8e6e1f25130f3e4b11731ccf1636560d9" }, "downloads": -1, "filename": "asyncnsq-1.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "dc4505ae7cbed2f30068bd834075998c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 31529, "upload_time": "2019-10-20T09:12:48", "url": "https://files.pythonhosted.org/packages/e5/1f/14eb192fa5af5b6c070773bde4a395eff26e5f6560539d7277515e32370f/asyncnsq-1.1.2-py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "dc4505ae7cbed2f30068bd834075998c", "sha256": "c7310703e0c2769b703306ac42f317b8e6e1f25130f3e4b11731ccf1636560d9" }, "downloads": -1, "filename": "asyncnsq-1.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "dc4505ae7cbed2f30068bd834075998c", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 31529, "upload_time": "2019-10-20T09:12:48", "url": "https://files.pythonhosted.org/packages/e5/1f/14eb192fa5af5b6c070773bde4a395eff26e5f6560539d7277515e32370f/asyncnsq-1.1.2-py3-none-any.whl" } ] }