python-http_request


Namepython-http_request JSON
Version 0.1.6.1 PyPI version JSON
download
home_pagehttps://github.com/ChenyangGao/python-modules/tree/main/python-http_request
SummaryPython http request utils.
upload_time2025-08-24 17:42:48
maintainerNone
docs_urlNone
authorChenyangGao
requires_python<4.0,>=3.12
licenseMIT
keywords http request
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Python http request utils.

## Installation

You can install from [pypi](https://pypi.org/project/python-http_request/)

```console
pip install -U python-http_request
```

## Usage

```python
import http_request
import http_request.extension
```

## Extension

I've implemented several modules, all of which provide a ``request`` function. Their signatures are similar, so they can be used as drop-in replacements for each other.

1. [aiohttp_client_request](https://pypi.org/project/aiohttp_client_request/)
1. [aiosonic_request](https://pypi.org/project/aiosonic_request/)
1. [asks_request](https://pypi.org/project/asks_request/)
1. [blacksheep_client_request](https://pypi.org/project/blacksheep_client_request/)
1. [curl_cffi_request](https://pypi.org/project/curl_cffi_request/)
1. [http_client_request](https://pypi.org/project/http_client_request/)
1. [httpcore_request](https://pypi.org/project/httpcore_request/)
1. [httpx_request](https://pypi.org/project/httpx_request/)
1. [pycurl_request](https://pypi.org/project/pycurl_request/)
1. [python-urlopen](https://pypi.org/project/python-urlopen/)
1. [requests_request](https://pypi.org/project/requests_request/)
1. [tornado_client_request](https://pypi.org/project/tornado_client_request/)
1. [urllib3_request](https://pypi.org/project/urllib3_request/)

To make it more general, I've encapsulated a ``request`` function

```python
from http_request.extension import request
```

You just need to implement a ``urlopen`` function pass to ``request``, then it can be directly extended. The ``urlopen`` function signature is roughly as follows:

```python
def urlopen[Response](
    url: str, 
    method: str,  
    data=None, 
    headers: None | dict[str, str] = None, 
    **request_args, 
) -> Response:
    ...
```

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/ChenyangGao/python-modules/tree/main/python-http_request",
    "name": "python-http_request",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.12",
    "maintainer_email": null,
    "keywords": "http, request",
    "author": "ChenyangGao",
    "author_email": "wosiwujm@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/df/1f/5f312a8f4d9bb2bcbb5307d79b805e2699a832a24632208eaeb15541c781/python_http_request-0.1.6.1.tar.gz",
    "platform": null,
    "description": "# Python http request utils.\n\n## Installation\n\nYou can install from [pypi](https://pypi.org/project/python-http_request/)\n\n```console\npip install -U python-http_request\n```\n\n## Usage\n\n```python\nimport http_request\nimport http_request.extension\n```\n\n## Extension\n\nI've implemented several modules, all of which provide a ``request`` function. Their signatures are similar, so they can be used as drop-in replacements for each other.\n\n1. [aiohttp_client_request](https://pypi.org/project/aiohttp_client_request/)\n1. [aiosonic_request](https://pypi.org/project/aiosonic_request/)\n1. [asks_request](https://pypi.org/project/asks_request/)\n1. [blacksheep_client_request](https://pypi.org/project/blacksheep_client_request/)\n1. [curl_cffi_request](https://pypi.org/project/curl_cffi_request/)\n1. [http_client_request](https://pypi.org/project/http_client_request/)\n1. [httpcore_request](https://pypi.org/project/httpcore_request/)\n1. [httpx_request](https://pypi.org/project/httpx_request/)\n1. [pycurl_request](https://pypi.org/project/pycurl_request/)\n1. [python-urlopen](https://pypi.org/project/python-urlopen/)\n1. [requests_request](https://pypi.org/project/requests_request/)\n1. [tornado_client_request](https://pypi.org/project/tornado_client_request/)\n1. [urllib3_request](https://pypi.org/project/urllib3_request/)\n\nTo make it more general, I've encapsulated a ``request`` function\n\n```python\nfrom http_request.extension import request\n```\n\nYou just need to implement a ``urlopen`` function pass to ``request``, then it can be directly extended. The ``urlopen`` function signature is roughly as follows:\n\n```python\ndef urlopen[Response](\n    url: str, \n    method: str,  \n    data=None, \n    headers: None | dict[str, str] = None, \n    **request_args, \n) -> Response:\n    ...\n```\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Python http request utils.",
    "version": "0.1.6.1",
    "project_urls": {
        "Homepage": "https://github.com/ChenyangGao/python-modules/tree/main/python-http_request",
        "Repository": "https://github.com/ChenyangGao/python-modules/tree/main/python-http_request"
    },
    "split_keywords": [
        "http",
        " request"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3e3e55ab3c2ebbbf91891e6bea2d17e86a5c0e90908ab1f1759cfb1a6a9d9807",
                "md5": "b854432982a9b51100cc195aa5b877cb",
                "sha256": "cf190205f0c80e1445ccc3948f3719cde25760410d921f7d21f20834b1b336b0"
            },
            "downloads": -1,
            "filename": "python_http_request-0.1.6.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "b854432982a9b51100cc195aa5b877cb",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.12",
            "size": 11210,
            "upload_time": "2025-08-24T17:42:47",
            "upload_time_iso_8601": "2025-08-24T17:42:47.236639Z",
            "url": "https://files.pythonhosted.org/packages/3e/3e/55ab3c2ebbbf91891e6bea2d17e86a5c0e90908ab1f1759cfb1a6a9d9807/python_http_request-0.1.6.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "df1f5f312a8f4d9bb2bcbb5307d79b805e2699a832a24632208eaeb15541c781",
                "md5": "c00f67c1d20fea7e8718393cab65344d",
                "sha256": "287e2d8f9340fadcfc7928f8a4afbbf7c2e266e83f79daa0224b3b7f1be24678"
            },
            "downloads": -1,
            "filename": "python_http_request-0.1.6.1.tar.gz",
            "has_sig": false,
            "md5_digest": "c00f67c1d20fea7e8718393cab65344d",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.12",
            "size": 9096,
            "upload_time": "2025-08-24T17:42:48",
            "upload_time_iso_8601": "2025-08-24T17:42:48.994432Z",
            "url": "https://files.pythonhosted.org/packages/df/1f/5f312a8f4d9bb2bcbb5307d79b805e2699a832a24632208eaeb15541c781/python_http_request-0.1.6.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-08-24 17:42:48",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "ChenyangGao",
    "github_project": "python-modules",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "python-http_request"
}
        
Elapsed time: 2.06953s