{ "info": { "author": "Edwin A. Suominen", "author_email": "foss@edsuom.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Framework :: Twisted", "Intended Audience :: Developers", "Intended Audience :: Science/Research", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 2 :: Only", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: System :: Clustering", "Topic :: System :: Distributed Computing", "Topic :: System :: Hardware :: Symmetric Multi-processing" ], "description": "Asynchronous task queueing based on the *Twisted* framework, with task\nprioritization and a powerful worker interface. Worker implementations\nare included for running tasks asynchronously in the main thread, in\nseparate threads, in separate Python interpreters (multiprocessing),\nand even on separate devices using Twisted's Asynchronous Message\nProtocol.\n\nIncludes deferred iteration capability: Calling a task that returns an\niterator can return a\n[Deferator](http://edsuom.com/AsynQueue/asynqueue.iteration.Deferator.html)\ninstead, which does the iteration in a Twisted-friendly fashion, even\nover a network connection. You can also supply an object conforming to\nTwisted's *IConsumer* interface and iterations will be fed to it as they\nbecome available.\n\nThe *util* module contains a\n[DeferredTracker](http://edsuom.com/AsynQueue/asynqueue.util.DeferredTracker.html)\nobject that makes the import worthwhile all on its own. You can use\nits **put** method to track Twisted *Deferred* objects without inserting\nanything into their callback chains. Then you can wait in non-blocking\nTwisted fashion for all, any, or some of the tracked deferreds to fire\n(again, without getting tangled up with any of their callbacks) using\nthe tracker's **deferToAll**, **deferToAny**, and **deferUntilFewer**\nmethods.\n\nIncludes an example package\n[mcMandelbrot](http://edsuom.com/mcMandelbrot.html) that generates\nMandelbrot set images, row by row, demonstrating the power of\nasynchronous multi-core processing. An instance of\n[ProcessQueue](http://edsuom.com/AsynQueue/asynqueue.process.ProcessQueue.html)\ndispatches the computations for each row of pixels to workers running\non separate Python processes. The color-mapped RGB results are\ncollected as they come back and intelligently buffered for iterating\nin a proper sequence to a third-party PNG library that wouldn't\nordinarily play nice with Twisted.\n\nYou can try things out after installation by running `mcmandelbrot`\n(with a few options and arguments) from the console. The output of the\nscript is a PNG file, which you can view by piping to the free Feh\nimage viewer: Just add `|feh -` at the end of the command line.\n\nThere was some effort toward Python 3 compatiblity a while ago, but\nit's still not yet supported.", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://edsuom.com/AsynQueue.html", "keywords": "twisted,asynchronous,async,defer,deferred,threads,parallel,distributed,task,queue,priority,multicore,fractal", "license": "Apache License (2.0)", "maintainer": "Edwin A. Suominen", "maintainer_email": "foss@edsuom.com", "name": "AsynQueue", "package_url": "https://pypi.org/project/AsynQueue/", "platform": "OS Independent", "project_url": "https://pypi.org/project/AsynQueue/", "project_urls": { "API": "http://edsuom.com/AsynQueue/asynqueue.html", "GitHub": "https://github.com/edsuom/AsynQueue", "Homepage": "http://edsuom.com/AsynQueue.html" }, "release_url": "https://pypi.org/project/AsynQueue/0.9.8/", "requires_dist": null, "requires_python": "", "summary": "Asynchronous task queueing with Twisted: threaded, multicore, and remote.", "version": "0.9.8" }, "last_serial": 4897144, "releases": { "0.3": [ { "comment_text": "", "digests": { "md5": "942d6433ad1d323598fcfd15e5d4abcf", "sha256": "0f017c94e2f7db68b4c6aefb67f29f9ff29d49ffa7137d59966705ce9b56a41c" }, "downloads": -1, "filename": "AsynQueue-0.3-py2.4.egg", "has_sig": false, "md5_digest": "942d6433ad1d323598fcfd15e5d4abcf", "packagetype": "bdist_egg", "python_version": "2.4", "requires_python": null, "size": 55766, "upload_time": "2007-12-06T20:55:18", "url": "https://files.pythonhosted.org/packages/4d/ec/4eddce0ef0006efaca3ddb4b214ddbaebbc77cc0161a9e9099d4bb0d54c5/AsynQueue-0.3-py2.4.egg" } ], "0.8.2": [ { "comment_text": "", "digests": { "md5": "5263e380acd69631a15add1965a6071b", "sha256": "2afdba63f47eb7b4138ecce696f7867d6d968e8183e62c90af74d3a34ccffa5b" }, "downloads": -1, "filename": "AsynQueue-0.8.2.tar.gz", "has_sig": false, "md5_digest": "5263e380acd69631a15add1965a6071b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 91565, "upload_time": "2015-05-06T01:48:46", "url": "https://files.pythonhosted.org/packages/d0/c7/570b8425707c758b264cc4f66746c397a26ab220f96b5ea4f11ea341c0ae/AsynQueue-0.8.2.tar.gz" } ], "0.9.0": [ { "comment_text": "", "digests": { "md5": "49d383c24b92b23582bb0fdff5abdda8", "sha256": "a4f2441d6bab52fe7eba633873704d8076562f6cd378b2df5a704de426234b96" }, "downloads": -1, "filename": "AsynQueue-0.9.0.tar.gz", "has_sig": false, "md5_digest": "49d383c24b92b23582bb0fdff5abdda8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 92565, "upload_time": "2015-05-16T05:31:43", "url": "https://files.pythonhosted.org/packages/72/7f/5907a7b723915b7eb5905545cf5997eeddf57330580fc1ca8739b0ec83b5/AsynQueue-0.9.0.tar.gz" } ], "0.9.1": [ { "comment_text": "", "digests": { "md5": "a19d836b5896e3ca0a9409f33e9ea947", "sha256": "d82c94d3a5aa008ed01dfa2e6e07bbd9bc3dda19cbd3a95835dc3dd2ee65c371" }, "downloads": -1, "filename": "AsynQueue-0.9.1.tar.gz", "has_sig": false, "md5_digest": "a19d836b5896e3ca0a9409f33e9ea947", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 127947, "upload_time": "2015-05-22T20:57:56", "url": "https://files.pythonhosted.org/packages/e0/95/465cbd14464205ee308030866d9a6ddff9e6088669c86f00358b2b73110f/AsynQueue-0.9.1.tar.gz" }, { "comment_text": "", "digests": { "md5": "b5dba80d0eaeea204dc87a968b3b4232", "sha256": "571669c7a76f824f4e5aeb28f321f691a141be5d5760edeea1cd2a97ac1dd52a" }, "downloads": -1, "filename": "AsynQueue-0.9.1.zip", "has_sig": false, "md5_digest": "b5dba80d0eaeea204dc87a968b3b4232", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 170606, "upload_time": "2015-05-22T20:58:00", "url": "https://files.pythonhosted.org/packages/a6/0d/0e72ff14756d7f76b7c3af3bad3f8ff64ab7c4ffa78ebc982f9cc768ad4a/AsynQueue-0.9.1.zip" } ], "0.9.2": [ { "comment_text": "", "digests": { "md5": "feeeb4b0bd9877f66e5f06c2e6a01594", "sha256": "5f46cf01311e649c21f745ca2e5f960ddad4573ccdf3a9189f2bcbb93245a929" }, "downloads": -1, "filename": "AsynQueue-0.9.2.tar.gz", "has_sig": false, "md5_digest": "feeeb4b0bd9877f66e5f06c2e6a01594", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 127874, "upload_time": "2015-06-27T20:30:05", "url": "https://files.pythonhosted.org/packages/97/e0/2def638fe78fbc1917182f8edd3594b2041c2422d49f839facd70cd372e2/AsynQueue-0.9.2.tar.gz" }, { "comment_text": "", "digests": { "md5": "3847ce14f97757deee3934933d85236b", "sha256": "06d2fe3ba67681432a1199b34f833ac6288c0ddbdd86f3a4db926b1049e014a4" }, "downloads": -1, "filename": "AsynQueue-0.9.2.zip", "has_sig": false, "md5_digest": "3847ce14f97757deee3934933d85236b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 170414, "upload_time": "2015-06-27T20:30:16", "url": "https://files.pythonhosted.org/packages/f8/6d/d9a09ca9fdaa630b7026abd3ad7711fd0613f453409d15608eabe31ce937/AsynQueue-0.9.2.zip" } ], "0.9.3": [ { "comment_text": "", "digests": { "md5": "974e356134ac65b36039c6f754aa6716", "sha256": "78fdb43b5a947c52e1a951ba41849fcbb6f368fb23bd048db916e7cecc32d6d5" }, "downloads": -1, "filename": "AsynQueue-0.9.3.tar.gz", "has_sig": false, "md5_digest": "974e356134ac65b36039c6f754aa6716", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 129691, "upload_time": "2017-12-07T00:15:19", "url": "https://files.pythonhosted.org/packages/73/aa/fd7d62a7541ee9bf7d178141680b4d35df463cf93391921ce861ae120b54/AsynQueue-0.9.3.tar.gz" } ], "0.9.4": [ { "comment_text": "", "digests": { "md5": "f6e8e72af26f02dfc5e2de67505b20ac", "sha256": "8f5fdc7b02b962193b9066221e0d6555043d86d6dc6e0b93cd74662e57ed5f88" }, "downloads": -1, "filename": "AsynQueue-0.9.4-py2-none-any.whl", "has_sig": false, "md5_digest": "f6e8e72af26f02dfc5e2de67505b20ac", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 164352, "upload_time": "2018-04-20T22:45:48", "url": "https://files.pythonhosted.org/packages/cb/3d/d2a2bf2c5e750550c2de1131b5b4d4087e4992994ac28bee82a35b8ae34d/AsynQueue-0.9.4-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f18b66f58a71b55c65906e50ad29b9c0", "sha256": "ab016369c9f1733836a9246834ca1ea48a200ef19f9ff99b9abe204dd40d3485" }, "downloads": -1, "filename": "AsynQueue-0.9.4.tar.gz", "has_sig": false, "md5_digest": "f18b66f58a71b55c65906e50ad29b9c0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 131272, "upload_time": "2018-04-20T22:45:50", "url": "https://files.pythonhosted.org/packages/a8/c6/4558384b2584e25d0cb3fafbc9f1d6eb9dab2e2af844caabf1bf4fab0261/AsynQueue-0.9.4.tar.gz" } ], "0.9.5": [ { "comment_text": "", "digests": { "md5": "9562cb46fcf7ffa44ca1a3aca5e6a7d1", "sha256": "e495465a2091e9fb5e97bd00fc6899beda983d1883aa313cc96d1e91362e3615" }, "downloads": -1, "filename": "AsynQueue-0.9.5.tar.gz", "has_sig": false, "md5_digest": "9562cb46fcf7ffa44ca1a3aca5e6a7d1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 132934, "upload_time": "2019-01-25T20:33:50", "url": "https://files.pythonhosted.org/packages/34/79/59d69c47be534baf8fd8497ad86d57f1b7ffc30320fc68a53bdd885678fe/AsynQueue-0.9.5.tar.gz" } ], "0.9.6": [ { "comment_text": "", "digests": { "md5": "14a010003eaa6b84156dcc2475a189b0", "sha256": "891b5f10a381ed1dce6ccb2f95434df4082cd03658b8f14153b70d1511ff8b83" }, "downloads": -1, "filename": "AsynQueue-0.9.6.tar.gz", "has_sig": false, "md5_digest": "14a010003eaa6b84156dcc2475a189b0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 134493, "upload_time": "2019-02-05T03:12:56", "url": "https://files.pythonhosted.org/packages/b5/5d/17511b933619f489ae93aa12ab4c9e24f9822d3fa806b48a7e86e1746421/AsynQueue-0.9.6.tar.gz" } ], "0.9.7": [ { "comment_text": "", "digests": { "md5": "6085c015db9fded374d5192c2c62053a", "sha256": "72f35363000f97293b96b43ab194cd642c07edfe5588225b30307c73a2e382fc" }, "downloads": -1, "filename": "AsynQueue-0.9.7.tar.gz", "has_sig": false, "md5_digest": "6085c015db9fded374d5192c2c62053a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 134575, "upload_time": "2019-02-06T22:35:26", "url": "https://files.pythonhosted.org/packages/d2/56/fe742e7fa015fba0585149fae6c08816c6b11b705cc514a10e0bf4a5753d/AsynQueue-0.9.7.tar.gz" } ], "0.9.8": [ { "comment_text": "", "digests": { "md5": "2c12b1dd07cb2fffb4e9d0639d20f492", "sha256": "fa6ddf179007c195be70b49513d955729e1cea2070414c4fbe31283e8e887e22" }, "downloads": -1, "filename": "AsynQueue-0.9.8.tar.gz", "has_sig": false, "md5_digest": "2c12b1dd07cb2fffb4e9d0639d20f492", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 136332, "upload_time": "2019-03-05T02:44:56", "url": "https://files.pythonhosted.org/packages/ae/21/907514463fd6f8aba8f6ffebfe7d952089e27a8ed1df6f777cb23f1b5e98/AsynQueue-0.9.8.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2c12b1dd07cb2fffb4e9d0639d20f492", "sha256": "fa6ddf179007c195be70b49513d955729e1cea2070414c4fbe31283e8e887e22" }, "downloads": -1, "filename": "AsynQueue-0.9.8.tar.gz", "has_sig": false, "md5_digest": "2c12b1dd07cb2fffb4e9d0639d20f492", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 136332, "upload_time": "2019-03-05T02:44:56", "url": "https://files.pythonhosted.org/packages/ae/21/907514463fd6f8aba8f6ffebfe7d952089e27a8ed1df6f777cb23f1b5e98/AsynQueue-0.9.8.tar.gz" } ] }