Metadata-Version: 1.2
Name: asyncloop
Version: 0.0.1.dev2
Summary: A Celery-like event loop with asyncio and no more dependencies
Home-page: https://github.com/dgkim5360/asyncloop
Author: Don Kim
Author-email: dgkimdev@gmail.com
License: MIT
Description-Content-Type: UNKNOWN
Description: asyncloop
        =========
        *A Celery-like event loop with `asyncio` and no dependencies*
        
        It runs an ``asyncio`` event loop in a separate thread, drives native coroutines within the loop, and then returns the future in an asynchronous manner. 
        
        Dependency
        ----------
        It requires Python 3.5+.
        
        Installation
        ------------
        
        ::
        
          $ git clone https://github.com/dgkim5360/asyncloop.git
          $ cd asyncloop
          asyncloop$ python setup.py install
        
        Getting started
        ---------------
        
        ::
        
          import asyncio as aio
        
          from asyncloop import AsyncLoop
        
        
          # A simple job, which should be a native coroutine
          async def job_to_wait(sleep_sec):
              await aio.sleep(sleep_sec)
              return sleep_sec
        
        
          # A simple callback
          def callback(fut):
              if fut.cancelled():
                  print('CANCELLED:', fut)
              elif fut.done():
                  print('DONE:', fut)
        	  print('RESULT:', fut.result()
        
        
          # AsyncLoop starts
          aloop = AsyncLoop()  # <AsyncLoop(Thread-##, initial)>
          aloop.start()  # <AsyncLoop(Thread-##, started ##########)>
        
          # Submit a job and be free to work on
          # it returns an AsyncJob object, a simple wrapper of concurrent.Future
          ajob = aloop.submit(job_to_wait(10), callback)
          ajob  # <AsyncJob at 0x####>
        
          # After 10 seconds the callback activated
          # DONE: <Future at 0x#### state=finished returned int>
          # RESULT: 10
        
          # Get a result
          ret = ajob.result()  # 10
        
          # You MUST stop the aloop before exit or destroy
          aloop.stop()  # <AsyncLoop(Thread-##, stopped ##########)>
        
        So far, that's all.
        
Keywords: asyncio celery event loop
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: License :: OSI Approved :: MIT License
Classifier: Framework :: AsyncIO
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.5
Requires-Python: >=3.5
