{ "info": { "author": "Erik Moqvist", "author_email": "erik.moqvist@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3" ], "description": "|buildstatus|_\n|coverage|_\n\nAsyncio background tasks\n========================\n\nAsyncio background tasks in Python 3.7 and later.\n\nRun CPU intensive long running tasks without blocking the asyncio\nloop, implemented as a lightweight asyncio layer on top of the\nmultiprocessing module.\n\nProject homepage: https://github.com/eerimoq/asyncbg\n\nDocumentation: https://asyncbg.readthedocs.org/en/latest\n\nInstallation\n============\n\n.. code-block:: python\n\n pip install asyncbg\n\nExamples\n========\n\nThere are more examples in the `examples folder`_.\n\nCall\n----\n\nCall ``work(a, b)`` in another process. The script output is ``Result: 9``.\n\n.. code-block:: python\n\n import asyncio\n import asyncbg\n\n def work(a, b):\n return a + b\n\n async def main():\n result = await asyncbg.call(work, 4, 5)\n print(f'Result: {result}')\n\n asyncio.run(main())\n\nProcess pool\n------------\n\nCreate a process pool with two workers, and call ``work()`` three\ntimes in it (up to two callbacks called in parallel).\n\n.. code-block:: python\n\n import asyncio\n import asyncbg\n\n def work():\n pass\n\n async def main():\n pool = asyncbg.ProcessPoolExecutor(max_workers=2)\n await asyncio.gather(pool.call(work),\n pool.call(work),\n pool.call(work))\n\n asyncio.run(main())\n\n.. |buildstatus| image:: https://travis-ci.org/eerimoq/asyncbg.svg?branch=master\n.. _buildstatus: https://travis-ci.org/eerimoq/asyncbg\n\n.. |coverage| image:: https://coveralls.io/repos/github/eerimoq/asyncbg/badge.svg?branch=master\n.. _coverage: https://coveralls.io/github/eerimoq/asyncbg\n\n.. _examples folder: https://github.com/eerimoq/asyncbg/tree/master/examples\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/eerimoq/asyncbg", "keywords": "asyncio", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "asyncbg", "package_url": "https://pypi.org/project/asyncbg/", "platform": "", "project_url": "https://pypi.org/project/asyncbg/", "project_urls": { "Homepage": "https://github.com/eerimoq/asyncbg" }, "release_url": "https://pypi.org/project/asyncbg/0.7.0/", "requires_dist": null, "requires_python": "", "summary": "Asyncio background tasks.", "version": "0.7.0" }, "last_serial": 5504940, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "cae77d613c3e9fece37a7e4631e9e963", "sha256": "2aa4bd2223e5cf03ce7ac8133806f89cd710a3a7af833dd5297671c5eeba701a" }, "downloads": -1, "filename": "asyncbg-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "cae77d613c3e9fece37a7e4631e9e963", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 3235, "upload_time": "2019-07-06T07:45:17", "url": "https://files.pythonhosted.org/packages/34/37/b0de6db2da00a6436af4515e6508dc1828304c075752f0478df268fd48a5/asyncbg-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7bf38de92b35db98d4e073bb56b0edf5", "sha256": "aa57a5799183aa908e5d8d812859782ea5b14680e45ec927b85e00fbd97a9b7c" }, "downloads": -1, "filename": "asyncbg-0.1.0.tar.gz", "has_sig": false, "md5_digest": "7bf38de92b35db98d4e073bb56b0edf5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2936, "upload_time": "2019-07-06T07:45:20", "url": "https://files.pythonhosted.org/packages/ae/d5/f542eb5de0db0222ae0fd618528f3e86d2075dec5290565a6e6f5498b71e/asyncbg-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "24310fe884feb055db4e86d5001cc5f0", "sha256": "ce9a6badb027f77365e6a829176893de4fda99a58f1a6b6bedb457a05b1efcb2" }, "downloads": -1, "filename": "asyncbg-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "24310fe884feb055db4e86d5001cc5f0", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 3845, "upload_time": "2019-07-06T09:48:51", "url": "https://files.pythonhosted.org/packages/80/e8/55c9428df8ecb15242a4e43429d82a2c97737a28a59bf72e160326047229/asyncbg-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2b4cc2d4d273b4527e4aabac4373fd16", "sha256": "65bfd93d4b61fa0041ff5eca8f0b317d1a454a9200362d031699c0b536455231" }, "downloads": -1, "filename": "asyncbg-0.2.0.tar.gz", "has_sig": false, "md5_digest": "2b4cc2d4d273b4527e4aabac4373fd16", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3490, "upload_time": "2019-07-06T09:48:53", "url": "https://files.pythonhosted.org/packages/13/c1/6906c45644a9342e5b28860fff4c48b04cf6abd152d8efed7062a9ec3fcc/asyncbg-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "a10750e8374f112df4ea834c911f6312", "sha256": "9ba7f64d27939c1dad271508ea9d1cc27e6be53ec86a133b22c126c0b3e883ff" }, "downloads": -1, "filename": "asyncbg-0.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a10750e8374f112df4ea834c911f6312", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 3578, "upload_time": "2019-07-06T16:25:23", "url": "https://files.pythonhosted.org/packages/a3/48/6c93b02117eb51a65171f3113962dcbc531ffa8886cce0440ad9a8ff9210/asyncbg-0.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "67190b0aaecfe01ef5178147b66ecb7e", "sha256": "22c3e5ebb29ca8db8936202a2947120df906cff02b043972831c5b98e8de870c" }, "downloads": -1, "filename": "asyncbg-0.3.0.tar.gz", "has_sig": false, "md5_digest": "67190b0aaecfe01ef5178147b66ecb7e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3668, "upload_time": "2019-07-06T16:25:25", "url": "https://files.pythonhosted.org/packages/13/b0/79f8217f5cfee34db65635d513dcec8c910ff98a65ae9b6e47b96cc54dc9/asyncbg-0.3.0.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "707898ca8a299a9650999c971c358750", "sha256": "23fe46e0cff252090de302f11b7134d2c01ebf3ff5fae8f363ba3cf19d4cf40b" }, "downloads": -1, "filename": "asyncbg-0.4.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "707898ca8a299a9650999c971c358750", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 3226, "upload_time": "2019-07-06T20:34:02", "url": "https://files.pythonhosted.org/packages/68/40/f6fae7452e4e20077d1ff7c2582330856cb8f1e8c16064c8800c3c2a05f3/asyncbg-0.4.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c47bd6114d3d765a5cd33060d75fa364", "sha256": "22d1635148c4a138b7df5717b029aed0ee50eed4a892f2d04c757ba4597abcd9" }, "downloads": -1, "filename": "asyncbg-0.4.0.tar.gz", "has_sig": false, "md5_digest": "c47bd6114d3d765a5cd33060d75fa364", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3293, "upload_time": "2019-07-06T20:34:04", "url": "https://files.pythonhosted.org/packages/51/e6/0b3fdfb84e5f68bdb4c39a95d7bc077414129c6e373d79abf2acc5c3579f/asyncbg-0.4.0.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "09b05ff95f23ad4d023dfada37f74c43", "sha256": "cae515ea01bc32ef70861c89c1334ed925af8ef649b5c0f014c94467c037f2ea" }, "downloads": -1, "filename": "asyncbg-0.5.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "09b05ff95f23ad4d023dfada37f74c43", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 3490, "upload_time": "2019-07-08T18:45:45", "url": "https://files.pythonhosted.org/packages/81/12/bd1ebc6e32333af6d3668b36268e6702683ceb0ecf9761e5184b8eb98d62/asyncbg-0.5.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "699a59d98994157a0a97e3f842414b85", "sha256": "df35f9b11286a033c90b7a98e89215348c22f4652cb6c48602052998c7f3696a" }, "downloads": -1, "filename": "asyncbg-0.5.0.tar.gz", "has_sig": false, "md5_digest": "699a59d98994157a0a97e3f842414b85", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3568, "upload_time": "2019-07-08T18:45:47", "url": "https://files.pythonhosted.org/packages/a9/92/28ba9c44d7ead1547ba38820359cc584d09a611de22082f55eef00c65d12/asyncbg-0.5.0.tar.gz" } ], "0.6.0": [ { "comment_text": "", "digests": { "md5": "f0386916526dd0addd4b398384640506", "sha256": "8de9ffd0828a580d986c62ce45e2a22688714820c82c39ff55167c7ad50fea5d" }, "downloads": -1, "filename": "asyncbg-0.6.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f0386916526dd0addd4b398384640506", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4073, "upload_time": "2019-07-09T04:19:16", "url": "https://files.pythonhosted.org/packages/c0/90/e12a20e1a8465907e1e771d48e59b1189d10d356046fdc2e806dc72a42f1/asyncbg-0.6.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a472e2a07b42a187e52d3f3801290c89", "sha256": "1e463650fefd1a1a160b89b4d5e98fefb0885149e4279ed919315750e2c271e5" }, "downloads": -1, "filename": "asyncbg-0.6.0.tar.gz", "has_sig": false, "md5_digest": "a472e2a07b42a187e52d3f3801290c89", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3568, "upload_time": "2019-07-09T04:19:18", "url": "https://files.pythonhosted.org/packages/c0/a4/714d656fac1b9ae1552bf53bf22c32254f83830d3b1936603f3681105269/asyncbg-0.6.0.tar.gz" } ], "0.7.0": [ { "comment_text": "", "digests": { "md5": "fa2694f1f683d4dae324259f7e5efabc", "sha256": "082d219c2dd158966264f09494c23c66589b79688315744ca5f671c11b9734eb" }, "downloads": -1, "filename": "asyncbg-0.7.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "fa2694f1f683d4dae324259f7e5efabc", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4074, "upload_time": "2019-07-09T06:06:15", "url": "https://files.pythonhosted.org/packages/9c/c8/49cb9bc5d2603d042f10ff89686207d92cb96c4fe14a24629e1ec1206b79/asyncbg-0.7.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "02980a8f55e9493d6ae07c1d7ff2a37e", "sha256": "0e8e2d8bbff2aabd3cc81707cba0cf0254737154dbb99e8e939b79cc00842c59" }, "downloads": -1, "filename": "asyncbg-0.7.0.tar.gz", "has_sig": false, "md5_digest": "02980a8f55e9493d6ae07c1d7ff2a37e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3577, "upload_time": "2019-07-09T06:06:17", "url": "https://files.pythonhosted.org/packages/23/f9/e20272eda69d0ec84f510354491f709bf346eb0c52800bac5e3c1062393c/asyncbg-0.7.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "fa2694f1f683d4dae324259f7e5efabc", "sha256": "082d219c2dd158966264f09494c23c66589b79688315744ca5f671c11b9734eb" }, "downloads": -1, "filename": "asyncbg-0.7.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "fa2694f1f683d4dae324259f7e5efabc", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 4074, "upload_time": "2019-07-09T06:06:15", "url": "https://files.pythonhosted.org/packages/9c/c8/49cb9bc5d2603d042f10ff89686207d92cb96c4fe14a24629e1ec1206b79/asyncbg-0.7.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "02980a8f55e9493d6ae07c1d7ff2a37e", "sha256": "0e8e2d8bbff2aabd3cc81707cba0cf0254737154dbb99e8e939b79cc00842c59" }, "downloads": -1, "filename": "asyncbg-0.7.0.tar.gz", "has_sig": false, "md5_digest": "02980a8f55e9493d6ae07c1d7ff2a37e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3577, "upload_time": "2019-07-09T06:06:17", "url": "https://files.pythonhosted.org/packages/23/f9/e20272eda69d0ec84f510354491f709bf346eb0c52800bac5e3c1062393c/asyncbg-0.7.0.tar.gz" } ] }