gufo-http


Namegufo-http JSON
Version 0.6.0 PyPI version JSON
download
home_pageNone
SummaryThe accelerated Python HTTP client library
upload_time2025-09-10 14:39:47
maintainerNone
docs_urlNone
authorGufo Labs
requires_python>=3.9
licenseBSD 3-Clause License
keywords error
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Gufo HTTP

*The accelerated Python HTTP client library.*

[![PyPi version](https://img.shields.io/pypi/v/gufo_http.svg)](https://pypi.python.org/pypi/gufo_http/)
![Downloads](https://img.shields.io/pypi/dw/gufo_http)
![Python Versions](https://img.shields.io/pypi/pyversions/gufo_http)
[![License](https://img.shields.io/badge/License-BSD_3--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause)
![Build](https://img.shields.io/github/actions/workflow/status/gufolabs/gufo_http/tests.yml?branch=master)
![Sponsors](https://img.shields.io/github/sponsors/gufolabs)
[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v0.json)](https://github.com/charliermarsh/ruff)

---

**Documentation**: [https://docs.gufolabs.com/gufo_http/](https://docs.gufolabs.com/gufo_http/)

**Source Code**: [https://github.com/gufolabs/gufo_http/](https://github.com/gufolabs/gufo_http/)

---

*Gufo HTTP* is a high-performance Python HTTP client library that handles both asynchronous and synchronous modes.
It wraps famous [Reqwest][Reqwest] HTTP client, written in
[Rust][Rust] language with [PyO3][PyO3] wrapper.
Our task is to reach maximal performance while maintaining clean and easy-to use API.

The getting of single URL is a simple task:

``` python
async with HttpClient() as client:
    resp = client.get("https://docs.gufolabs.com/")
    assert resp.status == 200
    data = resp.content
```

The `HttpClient` is highly customizable, for example,
to set request headers:

``` python
async with HttpClient(headers={"X-My-Header": b"test"}) as client:
    resp = client.get("https://docs.gufolabs.com/")
    ...
```

The response headers processing as easy as working with dicts:

``` python
async with HttpClient(headers={"X-My-Header": b"test"}) as client:
    resp = client.get("https://docs.gufolabs.com/")
    if resp.headers["Content-Type"] == "text/html":
        ...
```


Gufo HTTP supports common authentication methods out-of-box:

``` python
async with HttpClient(auth=BasicAuth("scott", "tiger")) as client:
    resp = client.get("https://protected.example.com/")
    ...
```

## Features

* Clean async and blocking API.
* High performance (see [Performance](#performance) section for details).
* Built with security in mind.
* Customizabile redirect policy.
* TLS support.
* Basic and bearer authorization schemes.
* HTTP/HTTPS/SOCKS5 Proxy support. 
* Full Python typing support.
* Editor completion.
* Built with security in mind.
* Well-tested, battle-proven code.

## Performance

Gufo HTTP is proved to be one of the fastest Python HTTP client available
in the various scenarios. For example:

### Single HTTP/1.1 requests scenario

![Single requests](https://docs.gufolabs.com/gufo_http/single_x100_1k.png)
*Lower is better*

### 100 Linear HTTP/1.1 requests scenario

![Linear requests](https://docs.gufolabs.com/gufo_http/linear_x100_1k.png)
*Lower is better*

### 100 Parallel HTTP/1.1 requests scenario

![Parallel requests](https://docs.gufolabs.com/gufo_http/p4_x100_1k.png)
*Lower is better*

### Single HTTPS requests scenario

![Single requests](https://docs.gufolabs.com/gufo_http/https_single_x100_1k.png)
*Lower is better*

### 100 Linear HTTPS requests scenario

![Linear requests](https://docs.gufolabs.com/gufo_http/https_linear_x100_1k.png)
*Lower is better*

### 100 Parallel HTTPS requests scenario

![Parallel requests](https://docs.gufolabs.com/gufo_http/https_p4_x100_1k.png)
*Lower is better*

Refer to [benchmarks](https://docs.gufolabs.com/gufo_http/benchmarks/) for details.

## On Gufo Stack

This product is a part of [Gufo Stack][Gufo Stack] - the collaborative effort 
led by [Gufo Labs][Gufo Labs]. Our goal is to create a robust and flexible 
set of tools to create network management software and automate 
routine administration tasks.

To do this, we extract the key technologies that have proven themselves 
in the [NOC][NOC] and bring them as separate packages. Then we work on API,
performance tuning, documentation, and testing. The [NOC][NOC] uses the final result
as the external dependencies.

[Gufo Stack][Gufo Stack] makes the [NOC][NOC] better, and this is our primary task. But other products
can benefit from [Gufo Stack][Gufo Stack] too. So we believe that our effort will make 
the other network management products better.

[Gufo Labs]: https://gufolabs.com/
[Gufo Stack]: https://docs.gufolabs.com/
[NOC]: https://getnoc.com/
[Rust]: https://rust-lang.org/
[PyO3]: https://pyo3.rs/
[Reqwest]: https://github.com/seanmonstar/reqwest

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "gufo-http",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "error",
    "author": "Gufo Labs",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/eb/06/865eed0326225ec08bdd6f654a49b3ecea07be775f31b5b06aa20ab89a37/gufo_http-0.6.0.tar.gz",
    "platform": null,
    "description": "# Gufo HTTP\n\n*The accelerated Python HTTP client library.*\n\n[![PyPi version](https://img.shields.io/pypi/v/gufo_http.svg)](https://pypi.python.org/pypi/gufo_http/)\n![Downloads](https://img.shields.io/pypi/dw/gufo_http)\n![Python Versions](https://img.shields.io/pypi/pyversions/gufo_http)\n[![License](https://img.shields.io/badge/License-BSD_3--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause)\n![Build](https://img.shields.io/github/actions/workflow/status/gufolabs/gufo_http/tests.yml?branch=master)\n![Sponsors](https://img.shields.io/github/sponsors/gufolabs)\n[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v0.json)](https://github.com/charliermarsh/ruff)\n\n---\n\n**Documentation**: [https://docs.gufolabs.com/gufo_http/](https://docs.gufolabs.com/gufo_http/)\n\n**Source Code**: [https://github.com/gufolabs/gufo_http/](https://github.com/gufolabs/gufo_http/)\n\n---\n\n*Gufo HTTP* is a high-performance Python HTTP client library that handles both asynchronous and synchronous modes.\nIt wraps famous [Reqwest][Reqwest] HTTP client, written in\n[Rust][Rust] language with [PyO3][PyO3] wrapper.\nOur task is to reach maximal performance while maintaining clean and easy-to use API.\n\nThe getting of single URL is a simple task:\n\n``` python\nasync with HttpClient() as client:\n    resp = client.get(\"https://docs.gufolabs.com/\")\n    assert resp.status == 200\n    data = resp.content\n```\n\nThe `HttpClient` is highly customizable, for example,\nto set request headers:\n\n``` python\nasync with HttpClient(headers={\"X-My-Header\": b\"test\"}) as client:\n    resp = client.get(\"https://docs.gufolabs.com/\")\n    ...\n```\n\nThe response headers processing as easy as working with dicts:\n\n``` python\nasync with HttpClient(headers={\"X-My-Header\": b\"test\"}) as client:\n    resp = client.get(\"https://docs.gufolabs.com/\")\n    if resp.headers[\"Content-Type\"] == \"text/html\":\n        ...\n```\n\n\nGufo HTTP supports common authentication methods out-of-box:\n\n``` python\nasync with HttpClient(auth=BasicAuth(\"scott\", \"tiger\")) as client:\n    resp = client.get(\"https://protected.example.com/\")\n    ...\n```\n\n## Features\n\n* Clean async and blocking API.\n* High performance (see [Performance](#performance) section for details).\n* Built with security in mind.\n* Customizabile redirect policy.\n* TLS support.\n* Basic and bearer authorization schemes.\n* HTTP/HTTPS/SOCKS5 Proxy support. \n* Full Python typing support.\n* Editor completion.\n* Built with security in mind.\n* Well-tested, battle-proven code.\n\n## Performance\n\nGufo HTTP is proved to be one of the fastest Python HTTP client available\nin the various scenarios. For example:\n\n### Single HTTP/1.1 requests scenario\n\n![Single requests](https://docs.gufolabs.com/gufo_http/single_x100_1k.png)\n*Lower is better*\n\n### 100 Linear HTTP/1.1 requests scenario\n\n![Linear requests](https://docs.gufolabs.com/gufo_http/linear_x100_1k.png)\n*Lower is better*\n\n### 100 Parallel HTTP/1.1 requests scenario\n\n![Parallel requests](https://docs.gufolabs.com/gufo_http/p4_x100_1k.png)\n*Lower is better*\n\n### Single HTTPS requests scenario\n\n![Single requests](https://docs.gufolabs.com/gufo_http/https_single_x100_1k.png)\n*Lower is better*\n\n### 100 Linear HTTPS requests scenario\n\n![Linear requests](https://docs.gufolabs.com/gufo_http/https_linear_x100_1k.png)\n*Lower is better*\n\n### 100 Parallel HTTPS requests scenario\n\n![Parallel requests](https://docs.gufolabs.com/gufo_http/https_p4_x100_1k.png)\n*Lower is better*\n\nRefer to [benchmarks](https://docs.gufolabs.com/gufo_http/benchmarks/) for details.\n\n## On Gufo Stack\n\nThis product is a part of [Gufo Stack][Gufo Stack] - the collaborative effort \nled by [Gufo Labs][Gufo Labs]. Our goal is to create a robust and flexible \nset of tools to create network management software and automate \nroutine administration tasks.\n\nTo do this, we extract the key technologies that have proven themselves \nin the [NOC][NOC] and bring them as separate packages. Then we work on API,\nperformance tuning, documentation, and testing. The [NOC][NOC] uses the final result\nas the external dependencies.\n\n[Gufo Stack][Gufo Stack] makes the [NOC][NOC] better, and this is our primary task. But other products\ncan benefit from [Gufo Stack][Gufo Stack] too. So we believe that our effort will make \nthe other network management products better.\n\n[Gufo Labs]: https://gufolabs.com/\n[Gufo Stack]: https://docs.gufolabs.com/\n[NOC]: https://getnoc.com/\n[Rust]: https://rust-lang.org/\n[PyO3]: https://pyo3.rs/\n[Reqwest]: https://github.com/seanmonstar/reqwest\n",
    "bugtrack_url": null,
    "license": "BSD 3-Clause License",
    "summary": "The accelerated Python HTTP client library",
    "version": "0.6.0",
    "project_urls": {
        "Bug Tracker": "https://github.com/gufolabs/gufo_http/issues",
        "Changelog": "https://github.com/gufolabs/gufo_http/blob/master/CHANGELOG.md",
        "Documentation": "https://docs.gufolabs.com/gufo_http/",
        "Homepage": "https://github.com/gufolabs/gufo_http/",
        "Source Code": "https://github.com/gufolabs/gufo_http/"
    },
    "split_keywords": [
        "error"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a7dd02e6ef50d0a981202342c691fa9eb133d15954c03ed442ff997425825195",
                "md5": "8245320eabcc6900d4818ad2e1ee96cf",
                "sha256": "879576c683edc0df7ce23a9e0d63a2453c1720186e41621904f0d22a862ed5fd"
            },
            "downloads": -1,
            "filename": "gufo_http-0.6.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl",
            "has_sig": false,
            "md5_digest": "8245320eabcc6900d4818ad2e1ee96cf",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 2800873,
            "upload_time": "2025-09-10T14:38:52",
            "upload_time_iso_8601": "2025-09-10T14:38:52.965355Z",
            "url": "https://files.pythonhosted.org/packages/a7/dd/02e6ef50d0a981202342c691fa9eb133d15954c03ed442ff997425825195/gufo_http-0.6.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "65438125cddbc3373d08919b1b8833cc222ce2bc2c7ba45a8692dd0500afe63d",
                "md5": "51f3548403c493c7d480656057357e79",
                "sha256": "eacfabaafc05720a1d84c69e048f0cda2ea7848a5bb64804155841e133c94c3f"
            },
            "downloads": -1,
            "filename": "gufo_http-0.6.0-cp310-cp310-manylinux_2_28_aarch64.whl",
            "has_sig": false,
            "md5_digest": "51f3548403c493c7d480656057357e79",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 2699156,
            "upload_time": "2025-09-10T14:38:54",
            "upload_time_iso_8601": "2025-09-10T14:38:54.712068Z",
            "url": "https://files.pythonhosted.org/packages/65/43/8125cddbc3373d08919b1b8833cc222ce2bc2c7ba45a8692dd0500afe63d/gufo_http-0.6.0-cp310-cp310-manylinux_2_28_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e348176cf44e6546509656d3fdbca9714742fedbd1d7f553079c9415a6011c9c",
                "md5": "98d1e08e743a46fb151b5495e1c187b2",
                "sha256": "911f2e13e0c5b14b4221f18e2fba467034e6c997807f99d8741590ac2e941096"
            },
            "downloads": -1,
            "filename": "gufo_http-0.6.0-cp310-cp310-manylinux_2_28_x86_64.whl",
            "has_sig": false,
            "md5_digest": "98d1e08e743a46fb151b5495e1c187b2",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 2802369,
            "upload_time": "2025-09-10T14:38:56",
            "upload_time_iso_8601": "2025-09-10T14:38:56.943751Z",
            "url": "https://files.pythonhosted.org/packages/e3/48/176cf44e6546509656d3fdbca9714742fedbd1d7f553079c9415a6011c9c/gufo_http-0.6.0-cp310-cp310-manylinux_2_28_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "acb9c47d29d712a998476eb8689dc9da4e81d5b54bdfeeae144dec3e164119ec",
                "md5": "23b483bb531e1654b7dea745cd301eae",
                "sha256": "f4232fef795ed5053edda7d6e86d2cf42d11996cde4cf357584e9b954ceab972"
            },
            "downloads": -1,
            "filename": "gufo_http-0.6.0-cp310-cp310-musllinux_1_2_aarch64.whl",
            "has_sig": false,
            "md5_digest": "23b483bb531e1654b7dea745cd301eae",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 2741925,
            "upload_time": "2025-09-10T14:38:59",
            "upload_time_iso_8601": "2025-09-10T14:38:59.066813Z",
            "url": "https://files.pythonhosted.org/packages/ac/b9/c47d29d712a998476eb8689dc9da4e81d5b54bdfeeae144dec3e164119ec/gufo_http-0.6.0-cp310-cp310-musllinux_1_2_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "47affe3d4dec881804fe7f347d450db4e003c6773050695a5d55f0078bb64534",
                "md5": "c4958ea91a66dc3c3965ef6b98d50fd9",
                "sha256": "1898c204580b8016a1c0d932e749c75687de83b8d345c4e87d5df3374cd31345"
            },
            "downloads": -1,
            "filename": "gufo_http-0.6.0-cp310-cp310-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "c4958ea91a66dc3c3965ef6b98d50fd9",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 2881577,
            "upload_time": "2025-09-10T14:39:01",
            "upload_time_iso_8601": "2025-09-10T14:39:01.179705Z",
            "url": "https://files.pythonhosted.org/packages/47/af/fe3d4dec881804fe7f347d450db4e003c6773050695a5d55f0078bb64534/gufo_http-0.6.0-cp310-cp310-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "f68a3a1b50371fd1977f63c8b58c0f9a9f197f5518c4936d6d7a50128b102678",
                "md5": "cc9ebb2a2c83f9856b1a15da44d79283",
                "sha256": "8bbf99aeef0cb5b41ae903a29e967cbf25be4cb491e9f8aa9546cb1fa3fc1f0b"
            },
            "downloads": -1,
            "filename": "gufo_http-0.6.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl",
            "has_sig": false,
            "md5_digest": "cc9ebb2a2c83f9856b1a15da44d79283",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 2801217,
            "upload_time": "2025-09-10T14:39:02",
            "upload_time_iso_8601": "2025-09-10T14:39:02.954101Z",
            "url": "https://files.pythonhosted.org/packages/f6/8a/3a1b50371fd1977f63c8b58c0f9a9f197f5518c4936d6d7a50128b102678/gufo_http-0.6.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c944d00068e55c753f920661f1c5633163602e822dab908b82bb3c31fc096041",
                "md5": "8ae0a4abd6f35b9efd1a598286e08e0d",
                "sha256": "316bc827a2fa01ab5b591d8d1047b84316e1624bbfdca9979258c3b78a92b7ac"
            },
            "downloads": -1,
            "filename": "gufo_http-0.6.0-cp311-cp311-manylinux_2_28_aarch64.whl",
            "has_sig": false,
            "md5_digest": "8ae0a4abd6f35b9efd1a598286e08e0d",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 2698929,
            "upload_time": "2025-09-10T14:39:04",
            "upload_time_iso_8601": "2025-09-10T14:39:04.571177Z",
            "url": "https://files.pythonhosted.org/packages/c9/44/d00068e55c753f920661f1c5633163602e822dab908b82bb3c31fc096041/gufo_http-0.6.0-cp311-cp311-manylinux_2_28_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e87bea0836eafdd0cda552e5bcbeed618316dd8ac6fe39aad3d5831c54002d96",
                "md5": "4dfb8157ddb531d4a8d8a64e59d6a683",
                "sha256": "b65546ede8394dba1163e9ebe7bf319427a2db977d880cd9d9a4e38589da8bf3"
            },
            "downloads": -1,
            "filename": "gufo_http-0.6.0-cp311-cp311-manylinux_2_28_x86_64.whl",
            "has_sig": false,
            "md5_digest": "4dfb8157ddb531d4a8d8a64e59d6a683",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 2803157,
            "upload_time": "2025-09-10T14:39:06",
            "upload_time_iso_8601": "2025-09-10T14:39:06.562698Z",
            "url": "https://files.pythonhosted.org/packages/e8/7b/ea0836eafdd0cda552e5bcbeed618316dd8ac6fe39aad3d5831c54002d96/gufo_http-0.6.0-cp311-cp311-manylinux_2_28_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a70ec46dc24464cf675c7f0adc72b689cf6ef0a9ded6239ef0cabc2e38ecfee0",
                "md5": "d3df489ec5b614dde81f89e1a135f146",
                "sha256": "250b2ac5cc6959364f22565cee215ed1fbc70c6cc389e73bed106324beef11f7"
            },
            "downloads": -1,
            "filename": "gufo_http-0.6.0-cp311-cp311-musllinux_1_2_aarch64.whl",
            "has_sig": false,
            "md5_digest": "d3df489ec5b614dde81f89e1a135f146",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 2741333,
            "upload_time": "2025-09-10T14:39:08",
            "upload_time_iso_8601": "2025-09-10T14:39:08.560026Z",
            "url": "https://files.pythonhosted.org/packages/a7/0e/c46dc24464cf675c7f0adc72b689cf6ef0a9ded6239ef0cabc2e38ecfee0/gufo_http-0.6.0-cp311-cp311-musllinux_1_2_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a228e2dbd1ad24749dfc18cc3c3698e1878d7df858ce1c2762b1b19401070550",
                "md5": "9f6f2991424bcd65c36539b08b3808c4",
                "sha256": "71e90f981f1e99a4690cd0f751dc43dff70e7d42c5d48e5e9499d024ee647f81"
            },
            "downloads": -1,
            "filename": "gufo_http-0.6.0-cp311-cp311-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "9f6f2991424bcd65c36539b08b3808c4",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 2880852,
            "upload_time": "2025-09-10T14:39:10",
            "upload_time_iso_8601": "2025-09-10T14:39:10.346704Z",
            "url": "https://files.pythonhosted.org/packages/a2/28/e2dbd1ad24749dfc18cc3c3698e1878d7df858ce1c2762b1b19401070550/gufo_http-0.6.0-cp311-cp311-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "754c4a0a99da1f6fc83426e898476c27094b7e173a4e7ec59c8fb97adeb13ebd",
                "md5": "6d1340c45b462a891665b4f369e96b6f",
                "sha256": "922d0a6089884d2633a791b00196cb3c75f43f05bd34a9138e6cb2746c3a0da7"
            },
            "downloads": -1,
            "filename": "gufo_http-0.6.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl",
            "has_sig": false,
            "md5_digest": "6d1340c45b462a891665b4f369e96b6f",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 2802297,
            "upload_time": "2025-09-10T14:39:11",
            "upload_time_iso_8601": "2025-09-10T14:39:11.938655Z",
            "url": "https://files.pythonhosted.org/packages/75/4c/4a0a99da1f6fc83426e898476c27094b7e173a4e7ec59c8fb97adeb13ebd/gufo_http-0.6.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "2d78f71fd2096930161a94537cc239abf08043255095ece4ff8d28b75ca36adc",
                "md5": "5b8e8d29bc91c6a3f1b6cf8d10138d75",
                "sha256": "a8c7fdfce14be7e5f36a553688fb3778e5a5634906581f1d4c6012ba1c558f42"
            },
            "downloads": -1,
            "filename": "gufo_http-0.6.0-cp312-cp312-manylinux_2_28_aarch64.whl",
            "has_sig": false,
            "md5_digest": "5b8e8d29bc91c6a3f1b6cf8d10138d75",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 2701081,
            "upload_time": "2025-09-10T14:39:13",
            "upload_time_iso_8601": "2025-09-10T14:39:13.964199Z",
            "url": "https://files.pythonhosted.org/packages/2d/78/f71fd2096930161a94537cc239abf08043255095ece4ff8d28b75ca36adc/gufo_http-0.6.0-cp312-cp312-manylinux_2_28_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "df0caf27ceb87815ffd7f98e8a757540207d4dc907dbe0cf30e6c3f2b911bb7e",
                "md5": "89bfe666820a6478a9684fb29c2b7c41",
                "sha256": "b53f65b3be76405681bee40f2d49b504901d729097e043ae9c25fff720a39949"
            },
            "downloads": -1,
            "filename": "gufo_http-0.6.0-cp312-cp312-manylinux_2_28_x86_64.whl",
            "has_sig": false,
            "md5_digest": "89bfe666820a6478a9684fb29c2b7c41",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 2804143,
            "upload_time": "2025-09-10T14:39:15",
            "upload_time_iso_8601": "2025-09-10T14:39:15.688855Z",
            "url": "https://files.pythonhosted.org/packages/df/0c/af27ceb87815ffd7f98e8a757540207d4dc907dbe0cf30e6c3f2b911bb7e/gufo_http-0.6.0-cp312-cp312-manylinux_2_28_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "77f6a779e4dc7cd9832b88d273dbc08a644f290f9949c254fecf95c8e5ee4d84",
                "md5": "9449b03f63b43a03c472a99109b05c6f",
                "sha256": "2e0095a30e405ffc326db987ff3a43214df8000096f5a6e5315ec3528326606a"
            },
            "downloads": -1,
            "filename": "gufo_http-0.6.0-cp312-cp312-musllinux_1_2_aarch64.whl",
            "has_sig": false,
            "md5_digest": "9449b03f63b43a03c472a99109b05c6f",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 2744432,
            "upload_time": "2025-09-10T14:39:17",
            "upload_time_iso_8601": "2025-09-10T14:39:17.301120Z",
            "url": "https://files.pythonhosted.org/packages/77/f6/a779e4dc7cd9832b88d273dbc08a644f290f9949c254fecf95c8e5ee4d84/gufo_http-0.6.0-cp312-cp312-musllinux_1_2_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "302bc335f041e42eecc1520e37c0f322009f976231e6f6a68555231f2a50fee4",
                "md5": "b219eacb8b5e6f5e918dad5673b9360e",
                "sha256": "05e8f12cbc63bea816f4d7cdb11fc64a1e4530101f70db6c82885dbcf0dd175c"
            },
            "downloads": -1,
            "filename": "gufo_http-0.6.0-cp312-cp312-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "b219eacb8b5e6f5e918dad5673b9360e",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 2882834,
            "upload_time": "2025-09-10T14:39:19",
            "upload_time_iso_8601": "2025-09-10T14:39:19.338375Z",
            "url": "https://files.pythonhosted.org/packages/30/2b/c335f041e42eecc1520e37c0f322009f976231e6f6a68555231f2a50fee4/gufo_http-0.6.0-cp312-cp312-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a356d82100f3786dcf1938b57ce28c9d5c7fc4a97f12f5c92621eb00304874b9",
                "md5": "1bc36c31e1ee6ee144304ef1a60db31e",
                "sha256": "4d975b7795cf16583565fc055d85edfed00a3f5f0fe01450897279014eef220d"
            },
            "downloads": -1,
            "filename": "gufo_http-0.6.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl",
            "has_sig": false,
            "md5_digest": "1bc36c31e1ee6ee144304ef1a60db31e",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.9",
            "size": 2802049,
            "upload_time": "2025-09-10T14:39:20",
            "upload_time_iso_8601": "2025-09-10T14:39:20.964229Z",
            "url": "https://files.pythonhosted.org/packages/a3/56/d82100f3786dcf1938b57ce28c9d5c7fc4a97f12f5c92621eb00304874b9/gufo_http-0.6.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "e5e06180be24ac947b44a4b41de30e2b9e800918d3ba2e24dd1106ba31d2c69e",
                "md5": "de6ba8ba157b1a0497e23b938620e041",
                "sha256": "4ee7a248d83dbb0e911054d84834e70e29ac2dd96bf066acc461f8439da428ca"
            },
            "downloads": -1,
            "filename": "gufo_http-0.6.0-cp313-cp313-manylinux_2_28_aarch64.whl",
            "has_sig": false,
            "md5_digest": "de6ba8ba157b1a0497e23b938620e041",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.9",
            "size": 2700918,
            "upload_time": "2025-09-10T14:39:22",
            "upload_time_iso_8601": "2025-09-10T14:39:22.579306Z",
            "url": "https://files.pythonhosted.org/packages/e5/e0/6180be24ac947b44a4b41de30e2b9e800918d3ba2e24dd1106ba31d2c69e/gufo_http-0.6.0-cp313-cp313-manylinux_2_28_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ed9b8f564e9dc7d29a0b4f257962b98063225f6c1e53bf9e4cc245474303b1a8",
                "md5": "7b4a20e71cfec1beeeaa7d3080bf9a20",
                "sha256": "49f1739f3c816b545e83a763ac2597eb7a849d80c8d205172d8646c6113ecfd7"
            },
            "downloads": -1,
            "filename": "gufo_http-0.6.0-cp313-cp313-manylinux_2_28_x86_64.whl",
            "has_sig": false,
            "md5_digest": "7b4a20e71cfec1beeeaa7d3080bf9a20",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.9",
            "size": 2803742,
            "upload_time": "2025-09-10T14:39:24",
            "upload_time_iso_8601": "2025-09-10T14:39:24.568768Z",
            "url": "https://files.pythonhosted.org/packages/ed/9b/8f564e9dc7d29a0b4f257962b98063225f6c1e53bf9e4cc245474303b1a8/gufo_http-0.6.0-cp313-cp313-manylinux_2_28_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "09147e2927c64b9f7bf184f85e733947973d66d7a4661d06fb1a878f9ce96273",
                "md5": "ed7affc81ab5352f8f40f5ece96ff866",
                "sha256": "bcf2e641232d713532b10dc7abe0c81ded966f8449f4a6c5ffef9dc6d3c3bb0f"
            },
            "downloads": -1,
            "filename": "gufo_http-0.6.0-cp313-cp313-musllinux_1_2_aarch64.whl",
            "has_sig": false,
            "md5_digest": "ed7affc81ab5352f8f40f5ece96ff866",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.9",
            "size": 2744409,
            "upload_time": "2025-09-10T14:39:26",
            "upload_time_iso_8601": "2025-09-10T14:39:26.325173Z",
            "url": "https://files.pythonhosted.org/packages/09/14/7e2927c64b9f7bf184f85e733947973d66d7a4661d06fb1a878f9ce96273/gufo_http-0.6.0-cp313-cp313-musllinux_1_2_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a1fd610643d4f6cc2e8ec896671779fad5e18bb89ad70cfd1bc3036371249c2b",
                "md5": "e63c9928e8dc6ffea2d217117a5461fc",
                "sha256": "a6a62009f978772ae1e7d9cc938fce4c4273dd72ae2d5576d61d10fa508eb0fd"
            },
            "downloads": -1,
            "filename": "gufo_http-0.6.0-cp313-cp313-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "e63c9928e8dc6ffea2d217117a5461fc",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.9",
            "size": 2882230,
            "upload_time": "2025-09-10T14:39:28",
            "upload_time_iso_8601": "2025-09-10T14:39:28.088923Z",
            "url": "https://files.pythonhosted.org/packages/a1/fd/610643d4f6cc2e8ec896671779fad5e18bb89ad70cfd1bc3036371249c2b/gufo_http-0.6.0-cp313-cp313-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "26c6b179216b6eda580a9b317c014c699a66b0afc2dc20f59a8c2f1210f57cd3",
                "md5": "bec80f0ec2e589c2078e598566bf02a9",
                "sha256": "745263fa2efdccc6f07c55bd13d1d4424b7f8e2fe221d50bd4e14631d51c5967"
            },
            "downloads": -1,
            "filename": "gufo_http-0.6.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl",
            "has_sig": false,
            "md5_digest": "bec80f0ec2e589c2078e598566bf02a9",
            "packagetype": "bdist_wheel",
            "python_version": "cp314",
            "requires_python": ">=3.9",
            "size": 2803045,
            "upload_time": "2025-09-10T14:39:29",
            "upload_time_iso_8601": "2025-09-10T14:39:29.662198Z",
            "url": "https://files.pythonhosted.org/packages/26/c6/b179216b6eda580a9b317c014c699a66b0afc2dc20f59a8c2f1210f57cd3/gufo_http-0.6.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "32171668a3c393560a1fa26426fac6e769713dec0dd1d75fcfa3d8185fcd9150",
                "md5": "e6655840bbf657881c8ece91ee974a12",
                "sha256": "b3190ab24d4fd683412f554016c5bb3e04845780a0d0e12d26244559578ca4d7"
            },
            "downloads": -1,
            "filename": "gufo_http-0.6.0-cp314-cp314-manylinux_2_28_aarch64.whl",
            "has_sig": false,
            "md5_digest": "e6655840bbf657881c8ece91ee974a12",
            "packagetype": "bdist_wheel",
            "python_version": "cp314",
            "requires_python": ">=3.9",
            "size": 2700222,
            "upload_time": "2025-09-10T14:39:31",
            "upload_time_iso_8601": "2025-09-10T14:39:31.312426Z",
            "url": "https://files.pythonhosted.org/packages/32/17/1668a3c393560a1fa26426fac6e769713dec0dd1d75fcfa3d8185fcd9150/gufo_http-0.6.0-cp314-cp314-manylinux_2_28_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "952385a547f326a67dd1d6f58e037ac59747d385c3843fa5ca2a8f3c4b53a066",
                "md5": "b8811773a5f0c673664b2852fb73706c",
                "sha256": "e7e995908993607db62cd529354070ab5a39077c2d62f95570ce83a99fca1b97"
            },
            "downloads": -1,
            "filename": "gufo_http-0.6.0-cp314-cp314-manylinux_2_28_x86_64.whl",
            "has_sig": false,
            "md5_digest": "b8811773a5f0c673664b2852fb73706c",
            "packagetype": "bdist_wheel",
            "python_version": "cp314",
            "requires_python": ">=3.9",
            "size": 2805383,
            "upload_time": "2025-09-10T14:39:33",
            "upload_time_iso_8601": "2025-09-10T14:39:33.020423Z",
            "url": "https://files.pythonhosted.org/packages/95/23/85a547f326a67dd1d6f58e037ac59747d385c3843fa5ca2a8f3c4b53a066/gufo_http-0.6.0-cp314-cp314-manylinux_2_28_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ece781f4c5ce424ef94a20d2d4866088b866b91ec8d9c997e957e08db28f0eee",
                "md5": "c22056494ac41c718dcd1c75ad332c8a",
                "sha256": "96e26f9a7f57b2da34464840ef2ce9999ac6feebf0791d6cf9071e8f01737ca7"
            },
            "downloads": -1,
            "filename": "gufo_http-0.6.0-cp314-cp314-musllinux_1_2_aarch64.whl",
            "has_sig": false,
            "md5_digest": "c22056494ac41c718dcd1c75ad332c8a",
            "packagetype": "bdist_wheel",
            "python_version": "cp314",
            "requires_python": ">=3.9",
            "size": 2743854,
            "upload_time": "2025-09-10T14:39:35",
            "upload_time_iso_8601": "2025-09-10T14:39:35.032946Z",
            "url": "https://files.pythonhosted.org/packages/ec/e7/81f4c5ce424ef94a20d2d4866088b866b91ec8d9c997e957e08db28f0eee/gufo_http-0.6.0-cp314-cp314-musllinux_1_2_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d833f1d87f14af4ed708fa131d7ee11c5bec87d858d22bf25fd1672fe98366d8",
                "md5": "7105993e5550ee2e45aa08ff65aba24f",
                "sha256": "5ccf7a8d95627f70cb76429d62d3d956706444354a66bd60ab4a1d9c70b58e50"
            },
            "downloads": -1,
            "filename": "gufo_http-0.6.0-cp314-cp314-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "7105993e5550ee2e45aa08ff65aba24f",
            "packagetype": "bdist_wheel",
            "python_version": "cp314",
            "requires_python": ">=3.9",
            "size": 2883027,
            "upload_time": "2025-09-10T14:39:37",
            "upload_time_iso_8601": "2025-09-10T14:39:37.062371Z",
            "url": "https://files.pythonhosted.org/packages/d8/33/f1d87f14af4ed708fa131d7ee11c5bec87d858d22bf25fd1672fe98366d8/gufo_http-0.6.0-cp314-cp314-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "172ae40054170ef409ff140d6f15b1b6c0623fc8dc0ad6e4dfcd726c7880a8d4",
                "md5": "f2247f797b3a8305cc755460c4300eea",
                "sha256": "838eb40d4780c7483689a98882931f927f4cf1393e8e39eaf25aa1664b62b2dd"
            },
            "downloads": -1,
            "filename": "gufo_http-0.6.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl",
            "has_sig": false,
            "md5_digest": "f2247f797b3a8305cc755460c4300eea",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 2801894,
            "upload_time": "2025-09-10T14:39:38",
            "upload_time_iso_8601": "2025-09-10T14:39:38.997919Z",
            "url": "https://files.pythonhosted.org/packages/17/2a/e40054170ef409ff140d6f15b1b6c0623fc8dc0ad6e4dfcd726c7880a8d4/gufo_http-0.6.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "9652ec755c8e17174635f73b35d6df060cebccb53b3b751b16fc4ca8e5bf7d7a",
                "md5": "9794d6d7e66ab7a4b631b17f7183bcca",
                "sha256": "413db87f8a85901ec03000a5346dd16c873fa0f9ed8faddd9642701be8d77f6e"
            },
            "downloads": -1,
            "filename": "gufo_http-0.6.0-cp39-cp39-manylinux_2_28_aarch64.whl",
            "has_sig": false,
            "md5_digest": "9794d6d7e66ab7a4b631b17f7183bcca",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 2700261,
            "upload_time": "2025-09-10T14:39:40",
            "upload_time_iso_8601": "2025-09-10T14:39:40.721012Z",
            "url": "https://files.pythonhosted.org/packages/96/52/ec755c8e17174635f73b35d6df060cebccb53b3b751b16fc4ca8e5bf7d7a/gufo_http-0.6.0-cp39-cp39-manylinux_2_28_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ab933951278f7fd19f0a95bfb4af91a2d804cf417d23327e61ca350b307d8b17",
                "md5": "fa2b708bf7ea3724d52b47e5acb4d1ef",
                "sha256": "f562b9a5aa7601d4dc28fbdd82e797cfcfd39029aaa6481edad37f9739e0ad1f"
            },
            "downloads": -1,
            "filename": "gufo_http-0.6.0-cp39-cp39-manylinux_2_28_x86_64.whl",
            "has_sig": false,
            "md5_digest": "fa2b708bf7ea3724d52b47e5acb4d1ef",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 2803416,
            "upload_time": "2025-09-10T14:39:42",
            "upload_time_iso_8601": "2025-09-10T14:39:42.643839Z",
            "url": "https://files.pythonhosted.org/packages/ab/93/3951278f7fd19f0a95bfb4af91a2d804cf417d23327e61ca350b307d8b17/gufo_http-0.6.0-cp39-cp39-manylinux_2_28_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "d82f47d99971abf3c747bd7db05833844747a83b9a0b160b262c6fdb2fcd1830",
                "md5": "019c110cac19b167ba2906371d139ac6",
                "sha256": "ddf814356baa321b5c1796b72cf24a4c85af330cd953b5c0d6ddb9664ffca2ff"
            },
            "downloads": -1,
            "filename": "gufo_http-0.6.0-cp39-cp39-musllinux_1_2_aarch64.whl",
            "has_sig": false,
            "md5_digest": "019c110cac19b167ba2906371d139ac6",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 2743416,
            "upload_time": "2025-09-10T14:39:44",
            "upload_time_iso_8601": "2025-09-10T14:39:44.470815Z",
            "url": "https://files.pythonhosted.org/packages/d8/2f/47d99971abf3c747bd7db05833844747a83b9a0b160b262c6fdb2fcd1830/gufo_http-0.6.0-cp39-cp39-musllinux_1_2_aarch64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "3a152ca193d69f18047f8cf448a9b7d7b95301bc91eaa2ed1a6740fdcdb9413a",
                "md5": "8d7b3b4e2130b223cc181fad2f700181",
                "sha256": "bdb985b3e9162eca0d122f2a0fd1c3fe3af6cf99b4312d77dda893b6ec108e0f"
            },
            "downloads": -1,
            "filename": "gufo_http-0.6.0-cp39-cp39-musllinux_1_2_x86_64.whl",
            "has_sig": false,
            "md5_digest": "8d7b3b4e2130b223cc181fad2f700181",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 2882673,
            "upload_time": "2025-09-10T14:39:46",
            "upload_time_iso_8601": "2025-09-10T14:39:46.122648Z",
            "url": "https://files.pythonhosted.org/packages/3a/15/2ca193d69f18047f8cf448a9b7d7b95301bc91eaa2ed1a6740fdcdb9413a/gufo_http-0.6.0-cp39-cp39-musllinux_1_2_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "eb06865eed0326225ec08bdd6f654a49b3ecea07be775f31b5b06aa20ab89a37",
                "md5": "fdfeb10c1f54c4aa40de5e8677b0acac",
                "sha256": "b28a24499f06f91ccfa02ec1d952f0d6ca4bd14e245e9a91ec94ad3d21d8abad"
            },
            "downloads": -1,
            "filename": "gufo_http-0.6.0.tar.gz",
            "has_sig": false,
            "md5_digest": "fdfeb10c1f54c4aa40de5e8677b0acac",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 30353,
            "upload_time": "2025-09-10T14:39:47",
            "upload_time_iso_8601": "2025-09-10T14:39:47.813498Z",
            "url": "https://files.pythonhosted.org/packages/eb/06/865eed0326225ec08bdd6f654a49b3ecea07be775f31b5b06aa20ab89a37/gufo_http-0.6.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-09-10 14:39:47",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "gufolabs",
    "github_project": "gufo_http",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "gufo-http"
}
        
Elapsed time: 5.08167s