{ "info": { "author": "night-crawler", "author_email": "lilo.panic@gmail.com", "bugtrack_url": null, "classifiers": [ "Environment :: Web Environment", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": ".. image:: https://codecov.io/gh/night-crawler/async-fetcher/branch/master/graph/badge.svg\n :target: https://codecov.io/gh/night-crawler/async-fetcher\n\n.. image:: https://travis-ci.org/night-crawler/async-fetcher.svg?branch=master\n :target: https://travis-ci.org/night-crawler/async-fetcher\n\n.. image:: https://img.shields.io/pypi/v/async-fetcher.svg\n :target: https://pypi.python.org/pypi/async-fetcher\n\n.. image:: https://img.shields.io/pypi/wheel/async-fetcher.svg\n :alt: PyPI Wheel\n :target: https://pypi.python.org/pypi/async-fetcher\n\n.. image:: https://requires.io/github/night-crawler/async-fetcher/requirements.svg?branch=master\n :target: https://requires.io/github/night-crawler/async-fetcher/requirements/?branch=master\n :alt: Requirements Status\n\n.. image:: https://img.shields.io/pypi/pyversions/async-fetcher.svg\n :alt: Supported versions\n :target: https://pypi.python.org/pypi/async-fetcher\n\n.. image:: https://img.shields.io/pypi/implementation/async-fetcher.svg\n :alt: Supported implementations\n :target: https://pypi.python.org/pypi/async-fetcher\n\nInstallation\n------------\n\n.. code:: bash\n\n pip install async-fetcher\n # or\n pip install -e git+https://github.com/night-crawler/async-fetcher.git@#egg=async-fetcher\n\n\nSample\n------\n\n.. code:: python\n\n af = AsyncFetch({\n 'first': AsyncFetch.mk_task(build_url('request-info')),\n 'second': AsyncFetch.mk_task('http://example.com/'),\n 'fail': AsyncFetch.mk_task(build_url('404'))\n })\n responses = af.go()\n\n``mk_task`` static method can take this arguments:\n\n.. code:: python\n\n :param fail_silently: bool, do not raise exceptions, default is False;\n for test purpose, do not use in production\n :param num_retries: int, *optional*, default is -1; -1 - no retries; 0 - use AsyncFetch.num_retries\n :param autodetect_content_type: if no `content-type` header was specified, set `content-type` as\n `application/json` for dict, and `text/html` otherwise; default is True\n :param json_encoder: JSONEncoder, *optional*, JSON encoder for data serialization\n tries to use DRF's encoder, or default JSONEncoder from json package; default is JSONEncoder\n :param url: str, *required*, url address\n :param api_key: str, optional API key passed into HEADERS dict\n :param data: dict, *optional*, request data. Default is None,\n :param method: str, *optional*, HTTP request method. Default is True.\n :param headers: dict, *optional*, optional HTTP headers\n :param response_type: str, *optional*, HTTP response type\n (in fact it's just aiohttp's method name, i.e. text, or json); default is 'json'\n :param language_code: str, set `accept-language` header\n :param timeout: float, *optional*, time to wait for response in seconds before TimeoutError\n :param query: dict, *optional*, url get arguments\n :param do_not_wait: bool, *optional*, fail silently with no retries and empty resultset\n\n\n.. code:: python\n\n af0 = AsyncFetch({})\n tcp_connector = af0.get_tcp_connector()\n\n af1 = AsyncFetch({\n '1': AsyncFetch.mk_task(build_url('request-info')),\n '2': AsyncFetch.mk_task(build_url('request-info')),\n }, tcp_connector=tcp_connector)\n responses = af1.go()\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/night-crawler/async-fetcher", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "async-fetcher", "package_url": "https://pypi.org/project/async-fetcher/", "platform": "", "project_url": "https://pypi.org/project/async-fetcher/", "project_urls": { "Homepage": "https://github.com/night-crawler/async-fetcher" }, "release_url": "https://pypi.org/project/async-fetcher/0.3.6/", "requires_dist": null, "requires_python": "", "summary": "Tiny aiohttp wrapper for http request gathering in sync mode", "version": "0.3.6" }, "last_serial": 4580028, "releases": { "0.2.1": [ { "comment_text": "", "digests": { "md5": "9001ccbaee83413776ab4dd1fc5157db", "sha256": "ae65b31de4a678b481afef3dddb03b5a9e3637474a634ccc68c2f65dd845b8d8" }, "downloads": -1, "filename": "async_fetcher-0.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "9001ccbaee83413776ab4dd1fc5157db", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 11961, "upload_time": "2017-12-29T13:12:34", "url": "https://files.pythonhosted.org/packages/08/86/123779d0a3b32701403afaab6616c371a723f23fc1e4b9e7773fc1e01be9/async_fetcher-0.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "25809cafbe5fa4cf8b3efc93288e61d8", "sha256": "8328c392f24ac9fc901c905823aa920d46a7756790f7a5879ad48e5dd660c2e0" }, "downloads": -1, "filename": "async-fetcher-0.2.1.tar.gz", "has_sig": false, "md5_digest": "25809cafbe5fa4cf8b3efc93288e61d8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8271, "upload_time": "2017-12-29T13:12:31", "url": "https://files.pythonhosted.org/packages/29/b2/4af42c7e7362523ce73b97b65b66f023b16751b6de7a8c022355ac273d3e/async-fetcher-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "b68bc978e1600b59649c13881e3584c9", "sha256": "ad9f3453804cd1da85d8dccf9664dd2d7ab398196ac5511c60f1b7e7320d28c6" }, "downloads": -1, "filename": "async_fetcher-0.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "b68bc978e1600b59649c13881e3584c9", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 12082, "upload_time": "2018-02-10T11:07:20", "url": "https://files.pythonhosted.org/packages/45/b3/08e2caf049859cb86cc70c89ab64207244dc56fd42cb5a34007f122d14e1/async_fetcher-0.2.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b8e0c6a9ad7f25f3259bcd70ab2ca302", "sha256": "646c7b25ffab8965f1f3180d72aa59b6a950360c6682e5678fc772aec530dd41" }, "downloads": -1, "filename": "async-fetcher-0.2.2.tar.gz", "has_sig": false, "md5_digest": "b8e0c6a9ad7f25f3259bcd70ab2ca302", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8338, "upload_time": "2018-02-10T11:07:18", "url": "https://files.pythonhosted.org/packages/d6/bd/e71ea59efc2e4c169d60dd98da9f0bd16ee7ee24a1fe806cf8ddf47b6d32/async-fetcher-0.2.2.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "8b05bcdb82ef04e896f3dafef714b9e7", "sha256": "a707a4eeec0fb38087ea3f1b86b7f313923f685bd25bc30c2ff22d8860bd333c" }, "downloads": -1, "filename": "async-fetcher-0.3.0.tar.gz", "has_sig": false, "md5_digest": "8b05bcdb82ef04e896f3dafef714b9e7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8607, "upload_time": "2018-06-21T10:43:55", "url": "https://files.pythonhosted.org/packages/74/dc/427d2191bc6b1ad5b101f46fe2dfbd659a24ac567a64f4a5ce23243f74c8/async-fetcher-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "08b31bc6acc87345d49fd671e9fc271a", "sha256": "43b44781e4fdc131fdaa18e25427071963ccc5c45f9e020b74ceddee3a23f2f8" }, "downloads": -1, "filename": "async_fetcher-0.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "08b31bc6acc87345d49fd671e9fc271a", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 11592, "upload_time": "2018-08-13T10:27:48", "url": "https://files.pythonhosted.org/packages/19/2b/9f492c37e00e2b72e3731e9255c5c85bb5dabedc2559735888c698bc9317/async_fetcher-0.3.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "21a18e44a9c8dcb8938ec8b8a38c87b7", "sha256": "883f20ff23ecfd270b931cb8e36fa29f98c7fb424898eea49dc423c64f6c8016" }, "downloads": -1, "filename": "async-fetcher-0.3.1.tar.gz", "has_sig": false, "md5_digest": "21a18e44a9c8dcb8938ec8b8a38c87b7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8615, "upload_time": "2018-08-13T10:27:47", "url": "https://files.pythonhosted.org/packages/17/64/469f6deb75e8ec9da6f40e248b7dd6337305f2abc5a2763d671e33bdac2f/async-fetcher-0.3.1.tar.gz" } ], "0.3.4": [ { "comment_text": "", "digests": { "md5": "aad170cf47779a1f8e784f460a4e87e8", "sha256": "ee99a90414f817831aecbc12eb99d5d756b5d4df68211938ab3508cf75d43161" }, "downloads": -1, "filename": "async_fetcher-0.3.4-py3-none-any.whl", "has_sig": false, "md5_digest": "aad170cf47779a1f8e784f460a4e87e8", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 11764, "upload_time": "2018-08-28T13:53:12", "url": "https://files.pythonhosted.org/packages/c9/c5/0c8c5484c0f2433648dec7f6e1c90a90611827eaf1651df98dc8b5a6649a/async_fetcher-0.3.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "44d032c506bae4a81956a7c648ea2967", "sha256": "5a1a35bd7b408cc8759d4a9091102e57622cc9593f6d0be21795017199bfca19" }, "downloads": -1, "filename": "async-fetcher-0.3.4.tar.gz", "has_sig": false, "md5_digest": "44d032c506bae4a81956a7c648ea2967", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8785, "upload_time": "2018-08-28T13:53:10", "url": "https://files.pythonhosted.org/packages/0c/63/2c69b30740184acd2a71a248387b72c3b7f7a9de8eeac694277800e6117f/async-fetcher-0.3.4.tar.gz" } ], "0.3.6": [ { "comment_text": "", "digests": { "md5": "c4b2c07f8d5e9a1260b353411a63fa88", "sha256": "a1e8ddf28a9215e36f9ae0e4e3c53747ef078fef426985c46fab5d9eb79b398f" }, "downloads": -1, "filename": "async_fetcher-0.3.6-py3-none-any.whl", "has_sig": false, "md5_digest": "c4b2c07f8d5e9a1260b353411a63fa88", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 11967, "upload_time": "2018-12-10T10:11:19", "url": "https://files.pythonhosted.org/packages/88/2b/7d312a0d0385cbbeff7c61bee451be435f8d88b11f865111effa560fb20a/async_fetcher-0.3.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "74454677b46c9d8848cbb7a34733b55f", "sha256": "054717b2158494e121f04f525d26d9d6ce48161a351bc725b6fed2279aa9c591" }, "downloads": -1, "filename": "async-fetcher-0.3.6.tar.gz", "has_sig": false, "md5_digest": "74454677b46c9d8848cbb7a34733b55f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9086, "upload_time": "2018-12-10T10:11:17", "url": "https://files.pythonhosted.org/packages/de/13/c8fc375618da93acfc66616543f8113a434c4273d5038a0a94a884c3194d/async-fetcher-0.3.6.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c4b2c07f8d5e9a1260b353411a63fa88", "sha256": "a1e8ddf28a9215e36f9ae0e4e3c53747ef078fef426985c46fab5d9eb79b398f" }, "downloads": -1, "filename": "async_fetcher-0.3.6-py3-none-any.whl", "has_sig": false, "md5_digest": "c4b2c07f8d5e9a1260b353411a63fa88", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 11967, "upload_time": "2018-12-10T10:11:19", "url": "https://files.pythonhosted.org/packages/88/2b/7d312a0d0385cbbeff7c61bee451be435f8d88b11f865111effa560fb20a/async_fetcher-0.3.6-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "74454677b46c9d8848cbb7a34733b55f", "sha256": "054717b2158494e121f04f525d26d9d6ce48161a351bc725b6fed2279aa9c591" }, "downloads": -1, "filename": "async-fetcher-0.3.6.tar.gz", "has_sig": false, "md5_digest": "74454677b46c9d8848cbb7a34733b55f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9086, "upload_time": "2018-12-10T10:11:17", "url": "https://files.pythonhosted.org/packages/de/13/c8fc375618da93acfc66616543f8113a434c4273d5038a0a94a884c3194d/async-fetcher-0.3.6.tar.gz" } ] }