Metadata-Version: 1.1
Name: asyncnsq
Version: 0.3.8
Summary: asyncio async/await nsq support
Home-page: https://github.com/aohan237/asyncnsq
Author: aohan237
Author-email: aohan237@gmail.com
License: MIT
Description: asyncnsq
        ========
        
        async nsq with python3.6 await/async supported
        
        **if you dont like the pynsq(which use tornado) way to interact with
        nsq, then this library may be suitable for you**
        
        you can use this library as the common way to write things
        
        Latest Updates
        --------------
        
        -  support dpub
        -  support lookupd_http
        
        Install
        -------
        
        pip install asyncnsq
        
        Usage examples
        --------------
        
        All you need is a loop, then enjoy
        
        Consumer:
        
        ::
        
            loop = asyncio.get_event_loop()
        
            async def go():
                try:
                    nsq_consumer = await create_nsq_consumer(
                        lookupd_http_addresses=[
                            ('127.0.0.1', 4161)],
                        max_in_flight=200)
                    await nsq_consumer.subscribe('test_async_nsq', 'nsq')
                    for waiter in nsq_consumer.wait_messages():
                        message = await waiter
                        print(message.body)
                        await message.fin()
                    nsq_consumer = await create_nsq_consumer(
                        host=['tcp://127.0.0.1:4150'],
                        max_in_flight=200)
                    await nsq_consumer.subscribe('test_async_nsq', 'nsq')
                    for waiter in nsq_consumer.wait_messages():
                        message = await waiter
                        print(message.body)
                        await message.fin()
                except Exception as tmp:
                    logger.exception(tmp)
        
            loop.run_until_complete(go())
        
        Producer:
        
        ::
        
            loop = asyncio.get_event_loop()
        
            async def go():
                nsq_producer = await create_nsq_producer(host='127.0.0.1', port=4150,
                                                         heartbeat_interval=30000,
                                                         feature_negotiation=True,
                                                         tls_v1=True,
                                                         snappy=False,
                                                         deflate=False,
                                                         deflate_level=0,
                                                         loop=loop)
                for i in range(10):
                    await nsq_producer.pub('test_async_nsq', 'test_async_nsq:{i}'.format(i=i))
                    await nsq_producer.dpub('test_async_nsq', i * 1000,
                                            'test_delay_async_nsq:{i}'.format(i=i))
            loop.run_until_complete(go())
        
        Requirements
        ------------
        
        -  Python\_ 3.5+ https://www.python.org
        -  nsq\_ http://nsq.io
        
        -  python-snappy
        
           1. ubuntu:
        
              -  sudo apt-get install libsnappy-dev
              -  pip install python-snappy
        
           2. centos:
        
              -  sudo yum install snappy-devel
              -  pip install python-snappy
        
           3. mac:
        
              -  brew install snappy # snappy library from Google
              -  CPPFLAGS=“-I/usr/local/include -L/usr/local/lib” pip install
                 python-snappy
        
        License
        -------
        
        The asyncnsq is offered under MIT license.
        
Platform: POSIX
Classifier: License :: OSI Approved :: MIT License
Classifier: Development Status :: 4 - Beta
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Operating System :: POSIX
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development
Classifier: Topic :: Software Development :: Libraries
