{ "info": { "author": "Victor Kovtun", "author_email": "hellysmile@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.7" ], "description": "contextvars_executor\n====================\n\n:info: contextvars friendly ThreadPoolExecutor\n\n.. image:: https://travis-ci.org/hellysmile/contextvars_executor.svg?branch=master\n :target: https://travis-ci.org/hellysmile/contextvars_executor\n\n.. image:: https://img.shields.io/pypi/v/contextvars_executor.svg\n :target: https://pypi.python.org/pypi/contextvars_executor\n\n.. image:: https://codecov.io/gh/hellysmile/contextvars_executor/branch/master/graph/badge.svg\n :target: https://codecov.io/gh/hellysmile/contextvars_executor\n\nInstallation\n------------\n\n.. code-block:: shell\n\n pip install contextvars_executor\n\nWhy???\n------\n\n* `related Python issue `_\n\nUsage\n-----\n\n.. code-block:: python\n\n import asyncio\n import contextvars\n\n from contextvars_executor import ContextVarExecutor\n\n ctx = contextvars.ContextVar('42')\n\n\n def thread():\n ret = ctx.get()\n\n assert ret == 42\n\n return ret\n\n\n async def main(*, loop):\n ctx.set(42)\n\n ret = await loop.run_in_executor(None, thread)\n\n assert ret == 42\n\n\n loop = asyncio.get_event_loop()\n loop.set_default_executor(ContextVarExecutor())\n loop.run_until_complete(main(loop=loop))\n\nPython 3.7+ is required, there is no need to support older python versions!!!", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/hellysmile/contextvars_executor", "keywords": "asyncio,contextvars", "license": "", "maintainer": "", "maintainer_email": "", "name": "contextvars-executor", "package_url": "https://pypi.org/project/contextvars-executor/", "platform": "", "project_url": "https://pypi.org/project/contextvars-executor/", "project_urls": { "Homepage": "https://github.com/hellysmile/contextvars_executor" }, "release_url": "https://pypi.org/project/contextvars-executor/0.0.1/", "requires_dist": null, "requires_python": ">=3.7.0", "summary": "contextvars friendly ThreadPoolExecutor", "version": "0.0.1" }, "last_serial": 4298366, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "c00f01668a801500e77f325e093eee48", "sha256": "7a47c1e8c29cbdb9006dae5d03be7fd329b5585fe8f0b62e0cd94eaf4db741bd" }, "downloads": -1, "filename": "contextvars_executor-0.0.1.tar.gz", "has_sig": false, "md5_digest": "c00f01668a801500e77f325e093eee48", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7.0", "size": 2234, "upload_time": "2018-09-21T23:41:11", "url": "https://files.pythonhosted.org/packages/2a/b7/b465571636dfd2ae00f26a8647183e9d97ea2daca790347db5c27a4ec423/contextvars_executor-0.0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c00f01668a801500e77f325e093eee48", "sha256": "7a47c1e8c29cbdb9006dae5d03be7fd329b5585fe8f0b62e0cd94eaf4db741bd" }, "downloads": -1, "filename": "contextvars_executor-0.0.1.tar.gz", "has_sig": false, "md5_digest": "c00f01668a801500e77f325e093eee48", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7.0", "size": 2234, "upload_time": "2018-09-21T23:41:11", "url": "https://files.pythonhosted.org/packages/2a/b7/b465571636dfd2ae00f26a8647183e9d97ea2daca790347db5c27a4ec423/contextvars_executor-0.0.1.tar.gz" } ] }