Metadata-Version: 2.1
Name: AsynQueue
Version: 0.9.8
Summary: Asynchronous task queueing with Twisted: threaded, multicore, and remote.
Home-page: http://edsuom.com/AsynQueue.html
Author: Edwin A. Suominen
Author-email: foss@edsuom.com
Maintainer: Edwin A. Suominen
Maintainer-email: foss@edsuom.com
License: Apache License (2.0)
Project-URL: API, http://edsuom.com/AsynQueue/asynqueue.html
Project-URL: GitHub, https://github.com/edsuom/AsynQueue
Description: 
        Asynchronous task queueing based on the *Twisted* framework, with task
        prioritization and a powerful worker interface. Worker implementations
        are included for running tasks asynchronously in the main thread, in
        separate threads, in separate Python interpreters (multiprocessing),
        and even on separate devices using Twisted's Asynchronous Message
        Protocol.
        
        Includes deferred iteration capability: Calling a task that returns an
        iterator can return a
        [Deferator](http://edsuom.com/AsynQueue/asynqueue.iteration.Deferator.html)
        instead, which does the iteration in a Twisted-friendly fashion, even
        over a network connection. You can also supply an object conforming to
        Twisted's *IConsumer* interface and iterations will be fed to it as they
        become available.
        
        The *util* module contains a
        [DeferredTracker](http://edsuom.com/AsynQueue/asynqueue.util.DeferredTracker.html)
        object that makes the import worthwhile all on its own. You can use
        its **put** method to track Twisted *Deferred* objects without inserting
        anything into their callback chains. Then you can wait in non-blocking
        Twisted fashion for all, any, or some of the tracked deferreds to fire
        (again, without getting tangled up with any of their callbacks) using
        the tracker's **deferToAll**, **deferToAny**, and **deferUntilFewer**
        methods.
        
        Includes an example package
        [mcMandelbrot](http://edsuom.com/mcMandelbrot.html) that generates
        Mandelbrot set images, row by row, demonstrating the power of
        asynchronous multi-core processing. An instance of
        [ProcessQueue](http://edsuom.com/AsynQueue/asynqueue.process.ProcessQueue.html)
        dispatches the computations for each row of pixels to workers running
        on separate Python processes. The color-mapped RGB results are
        collected as they come back and intelligently buffered for iterating
        in a proper sequence to a third-party PNG library that wouldn't
        ordinarily play nice with Twisted.
        
        You can try things out after installation by running `mcmandelbrot`
        (with a few options and arguments) from the console. The output of the
        script is a PNG file, which you can view by piping to the free Feh
        image viewer: Just add `|feh -` at the end of the command line.
        
        There was some effort toward Python 3 compatiblity a while ago, but
        it's still not yet supported.
        
Keywords: twisted,asynchronous,async,defer,deferred,threads,parallel,distributed,task,queue,priority,multicore,fractal
Platform: OS Independent
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 2 :: Only
Classifier: Framework :: Twisted
Classifier: Topic :: System :: Clustering
Classifier: Topic :: System :: Distributed Computing
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: System :: Hardware :: Symmetric Multi-processing
Description-Content-Type: text/markdown
