{ "info": { "author": "Don Kim", "author_email": "dgkimdev@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Framework :: AsyncIO", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3 :: Only" ], "description": "asyncloop\n=========\n*A Celery-like event loop with `asyncio` and no dependencies*\n\nIt runs an ``asyncio`` event loop in a separate thread, drives native coroutines within the loop, and then returns the future in an asynchronous manner. \n\nDependency\n----------\nIt requires Python 3.5+.\n\nInstallation\n------------\n\n::\n\n $ git clone https://github.com/dgkim5360/asyncloop.git\n $ cd asyncloop\n asyncloop$ python setup.py install\n\nGetting started\n---------------\n\n::\n\n import asyncio as aio\n\n from asyncloop import AsyncLoop\n\n\n # A simple job, which should be a native coroutine\n async def job_to_wait(sleep_sec):\n await aio.sleep(sleep_sec)\n return sleep_sec\n\n\n # A simple callback\n def callback(fut):\n if fut.cancelled():\n print('CANCELLED:', fut)\n elif fut.done():\n print('DONE:', fut)\n\t print('RESULT:', fut.result()\n\n\n # AsyncLoop starts\n aloop = AsyncLoop() # \n aloop.start() # \n\n # Submit a job and be free to work on\n # it returns an AsyncJob object, a simple wrapper of concurrent.Future\n ajob = aloop.submit(job_to_wait(10), callback)\n ajob # \n\n # After 10 seconds the callback activated\n # DONE: \n # RESULT: 10\n\n # Get a result\n ret = ajob.result() # 10\n\n # You MUST stop the aloop before exit or destroy\n aloop.stop() # \n\nSo far, that's all.\n\n\n", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/dgkim5360/asyncloop", "keywords": "asyncio celery event loop", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "asyncloop", "package_url": "https://pypi.org/project/asyncloop/", "platform": "", "project_url": "https://pypi.org/project/asyncloop/", "project_urls": { "Homepage": "https://github.com/dgkim5360/asyncloop" }, "release_url": "https://pypi.org/project/asyncloop/0.0.1.dev2/", "requires_dist": null, "requires_python": ">=3.5", "summary": "A Celery-like event loop with asyncio and no more dependencies", "version": "0.0.1.dev2" }, "last_serial": 3287161, "releases": { "0.0.1.dev2": [ { "comment_text": "", "digests": { "md5": "39524eb074ed683df7d9becb1dc3a88f", "sha256": "a12e50e2934e5cee7893c0abf46ea3d267d7c602448c3bf16feddca7a989f664" }, "downloads": -1, "filename": "asyncloop-0.0.1.dev2-py3-none-any.whl", "has_sig": false, "md5_digest": "39524eb074ed683df7d9becb1dc3a88f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 5890, "upload_time": "2017-10-29T01:15:15", "url": "https://files.pythonhosted.org/packages/35/00/cee47ed2df703f0543c46bf63042e7f42e96b2758362aad60dbb958a3ada/asyncloop-0.0.1.dev2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "df448cf26d864f1f07c4e0c16341a977", "sha256": "c53ded99c97be8059213b2f12349c58e053f3f4c3f35aa993f7e1cb210aa3c13" }, "downloads": -1, "filename": "asyncloop-0.0.1.dev2.tar.gz", "has_sig": false, "md5_digest": "df448cf26d864f1f07c4e0c16341a977", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 3595, "upload_time": "2017-10-29T01:15:17", "url": "https://files.pythonhosted.org/packages/98/32/024effdfdc7ed82df04d0c6f2aa7cd39d763bf74e086ba7da4e492f7d97b/asyncloop-0.0.1.dev2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "39524eb074ed683df7d9becb1dc3a88f", "sha256": "a12e50e2934e5cee7893c0abf46ea3d267d7c602448c3bf16feddca7a989f664" }, "downloads": -1, "filename": "asyncloop-0.0.1.dev2-py3-none-any.whl", "has_sig": false, "md5_digest": "39524eb074ed683df7d9becb1dc3a88f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.5", "size": 5890, "upload_time": "2017-10-29T01:15:15", "url": "https://files.pythonhosted.org/packages/35/00/cee47ed2df703f0543c46bf63042e7f42e96b2758362aad60dbb958a3ada/asyncloop-0.0.1.dev2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "df448cf26d864f1f07c4e0c16341a977", "sha256": "c53ded99c97be8059213b2f12349c58e053f3f4c3f35aa993f7e1cb210aa3c13" }, "downloads": -1, "filename": "asyncloop-0.0.1.dev2.tar.gz", "has_sig": false, "md5_digest": "df448cf26d864f1f07c4e0c16341a977", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.5", "size": 3595, "upload_time": "2017-10-29T01:15:17", "url": "https://files.pythonhosted.org/packages/98/32/024effdfdc7ed82df04d0c6f2aa7cd39d763bf74e086ba7da4e492f7d97b/asyncloop-0.0.1.dev2.tar.gz" } ] }