aiohttp-requests
============================================================
Behold, the power of aiohttp_ client with `Requests <http://docs.python-requests.org/>`_ simplicity:
.. code-block:: python
import asyncio
import aiohttp
from aiohttp_requests import requests
async def main():
response = await requests.get('https://api.github.com', auth=aiohttp.BasicAuth('user', 'password'))
text = await response.text()
json = await response.json()
return response, text, json
r, text, json = asyncio.run(main())
>>> r
<ClientResponse(https://api.github.com/) [200 OK]>
>>> r.status
200
>>> r.headers['Content-Type']
'application/json; charset=utf-8'
>>> r.get_encoding()
'utf-8'
>>> text
'{"current_user_url":"https://api.github.com/user",...'
>>> json
{'current_user_url': 'https://api.github.com/user', ... }
Plus built-in concurrency control to do multiple requests safely:
.. code-block:: python
async def main():
# Pass in a list of urls instead of just one. Optionally pass in as_iterator=True to iterate the responses.
responses = await requests.get(['https://api.github.com'] * 2, auth=aiohttp.BasicAuth('user', 'password'))
print(responses) # [<ClientResponse(https://...) [200 OK]>, , <ClientResponse(https://...) [200 OK]>]
# It defaults to 10 concurrent requests maximum. If you can handle more, then set it higher:
requests.max_concurrency = 100
asyncio.run(main())
The `requests` object is just proxying `get` and other HTTP verb methods to `aiohttp.ClientSession`_, which returns `aiohttp.ClientResponse`_. To do anything else, read the aiohttp_ doc.
.. _`aiohttp.ClientSession`: https://docs.aiohttp.org/en/stable/client_reference.html?#aiohttp.ClientSession
.. _`aiohttp.ClientResponse`: https://docs.aiohttp.org/en/stable/client_reference.html?#aiohttp.ClientResponse
.. _aiohttp: https://docs.aiohttp.org/en/stable/
Links & Contact Info
====================
| PyPI Package: https://pypi.python.org/pypi/aiohttp-requests
| GitHub Source: https://github.com/maxzheng/aiohttp-requests
| Report Issues/Bugs: https://github.com/maxzheng/aiohttp-requests/issues
|
| Connect: https://www.linkedin.com/in/maxzheng
| Contact: maxzheng.os @t gmail.com
Raw data
{
"_id": null,
"home_page": "https://github.com/maxzheng/aiohttp-requests",
"name": "aiohttp-requests",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": null,
"keywords": "aiohttp HTTP client async requests",
"author": "Max Zheng",
"author_email": "maxzheng.os @t gmail.com",
"download_url": "https://files.pythonhosted.org/packages/53/2b/34ddd6fb516a8439ec5a860d7640050b49c94b64b7b134cbfbf5a21bbe17/aiohttp-requests-0.2.4.tar.gz",
"platform": null,
"description": "aiohttp-requests\n============================================================\n\nBehold, the power of aiohttp_ client with `Requests <http://docs.python-requests.org/>`_ simplicity:\n\n.. code-block:: python\n\n import asyncio\n\n import aiohttp\n from aiohttp_requests import requests\n\n async def main():\n response = await requests.get('https://api.github.com', auth=aiohttp.BasicAuth('user', 'password'))\n text = await response.text()\n json = await response.json()\n return response, text, json\n\n r, text, json = asyncio.run(main())\n\n >>> r\n <ClientResponse(https://api.github.com/) [200 OK]>\n >>> r.status\n 200\n >>> r.headers['Content-Type']\n 'application/json; charset=utf-8'\n >>> r.get_encoding()\n 'utf-8'\n >>> text\n '{\"current_user_url\":\"https://api.github.com/user\",...'\n >>> json\n {'current_user_url': 'https://api.github.com/user', ... }\n\nPlus built-in concurrency control to do multiple requests safely:\n\n.. code-block:: python\n\n async def main():\n # Pass in a list of urls instead of just one. Optionally pass in as_iterator=True to iterate the responses.\n responses = await requests.get(['https://api.github.com'] * 2, auth=aiohttp.BasicAuth('user', 'password'))\n print(responses) # [<ClientResponse(https://...) [200 OK]>, , <ClientResponse(https://...) [200 OK]>]\n\n # It defaults to 10 concurrent requests maximum. If you can handle more, then set it higher:\n requests.max_concurrency = 100\n\n asyncio.run(main())\n\nThe `requests` object is just proxying `get` and other HTTP verb methods to `aiohttp.ClientSession`_, which returns `aiohttp.ClientResponse`_. To do anything else, read the aiohttp_ doc.\n\n.. _`aiohttp.ClientSession`: https://docs.aiohttp.org/en/stable/client_reference.html?#aiohttp.ClientSession\n.. _`aiohttp.ClientResponse`: https://docs.aiohttp.org/en/stable/client_reference.html?#aiohttp.ClientResponse\n.. _aiohttp: https://docs.aiohttp.org/en/stable/\n\nLinks & Contact Info\n====================\n\n| PyPI Package: https://pypi.python.org/pypi/aiohttp-requests\n| GitHub Source: https://github.com/maxzheng/aiohttp-requests\n| Report Issues/Bugs: https://github.com/maxzheng/aiohttp-requests/issues\n|\n| Connect: https://www.linkedin.com/in/maxzheng\n| Contact: maxzheng.os @t gmail.com\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A thin wrapper for aiohttp client with Requests simplicity",
"version": "0.2.4",
"project_urls": {
"Homepage": "https://github.com/maxzheng/aiohttp-requests"
},
"split_keywords": [
"aiohttp",
"http",
"client",
"async",
"requests"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "1b8f723efa0175d71272432566bd85739257add08bd1381799141f62596cc2c5",
"md5": "bbc0e2bc17b9b63f20e767f33def69e7",
"sha256": "d201d699748f2e1459a49e8b7e53be1d05a487f3827c201a05941139678199b8"
},
"downloads": -1,
"filename": "aiohttp_requests-0.2.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "bbc0e2bc17b9b63f20e767f33def69e7",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 4336,
"upload_time": "2024-05-11T19:48:52",
"upload_time_iso_8601": "2024-05-11T19:48:52.234891Z",
"url": "https://files.pythonhosted.org/packages/1b/8f/723efa0175d71272432566bd85739257add08bd1381799141f62596cc2c5/aiohttp_requests-0.2.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "532b34ddd6fb516a8439ec5a860d7640050b49c94b64b7b134cbfbf5a21bbe17",
"md5": "3a24b6d3f93e373077ab3a68792628f8",
"sha256": "63036b83fabcf359aee33f957f7d8d12532c7d465c1343ab03a53faf38ae9e0c"
},
"downloads": -1,
"filename": "aiohttp-requests-0.2.4.tar.gz",
"has_sig": false,
"md5_digest": "3a24b6d3f93e373077ab3a68792628f8",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 7070,
"upload_time": "2024-05-11T19:48:53",
"upload_time_iso_8601": "2024-05-11T19:48:53.898548Z",
"url": "https://files.pythonhosted.org/packages/53/2b/34ddd6fb516a8439ec5a860d7640050b49c94b64b7b134cbfbf5a21bbe17/aiohttp-requests-0.2.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-05-11 19:48:53",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "maxzheng",
"github_project": "aiohttp-requests",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"requirements": [
{
"name": "aiohttp",
"specs": []
},
{
"name": "coworker",
"specs": [
[
"==",
"2.*"
]
]
}
],
"tox": true,
"lcname": "aiohttp-requests"
}