redc


Nameredc JSON
Version 0.1.2 PyPI version JSON
download
home_pageNone
SummaryRedC is a high-performance, asynchronous HTTP client library for Python, built on top of the powerful curl library
upload_time2025-02-10 05:10:10
maintainerNone
docs_urlNone
authorNone
requires_python>=3.9
licenseMIT
keywords asyncio http client http-client curl libcurl
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <div align="center">
  <img src="https://raw.githubusercontent.com/AYMENJD/redc/refs/heads/main/assets/images/redc-logo.png">
</div>

[![Version](https://img.shields.io/pypi/v/redc?style=flat&logo=curl&logoColor=red&color=red)](https://pypi.org/project/RedC) [![CURL version](https://img.shields.io/badge/Curl-v8.12.0-red?logo=curl)](https://curl.se/ch/8.12.0.html) [![Downloads](https://static.pepy.tech/personalized-badge/redc?period=month&units=none&left_color=grey&right_color=brightgreen&left_text=Downloads)](https://pepy.tech/project/redc)

**RedC** is a **high-performance**, asynchronous **HTTP** client library for **Python**, built on top of the powerful **curl** library. It provides a simple and intuitive interface for making HTTP requests and handling responses

## Features

- **Asynchronous by Design**: Built with `asyncio` for non-blocking HTTP requests
- **HTTP/2 Support**: Fully compatible with `HTTP/2` for faster and more efficient communication
- **curl Backend**: Leverages the speed and reliability of curl for HTTP operations
- **Streaming Support**: Stream large responses with ease using callback functions
- **Proxy Support**: Easily configure proxies for your requests

## Installation

You can install RedC via pip:

```bash
pip install redc
```

## Quick Start

```python
import asyncio
from redc import Client

async def main():
    async with Client(base_url="https://jsonplaceholder.typicode.com") as client:
        # Make a GET request
        response = await client.get("/posts/1")
        response.raise_for_status()
        print(response.status_code)  # 200
        print(response.json())  # {'userId': 1, 'id': 1, 'title': '...', 'body': '...'}

        # Make a POST request with JSON data
        response = await client.post(
            "/posts",
            json={"title": "foo", "body": "bar", "userId": 1},
        )
        response.raise_for_status()
        print(response.status_code)  # 201
        print(response.json())  # {'id': 101, ...}

asyncio.run(main())
```

## License

MIT [LICENSE](https://github.com/AYMENJD/redc/blob/main/LICENSE)

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "redc",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "asyncio, http, client, http-client, curl, libcurl",
    "author": null,
    "author_email": "AYMEN Mohammed <let.me.code.safe@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/c0/07/c5a34b1757086a3f300960ea928617733d9d2aca6c7bd09725ca3f15ec55/redc-0.1.2.tar.gz",
    "platform": null,
    "description": "<div align=\"center\">\n  <img src=\"https://raw.githubusercontent.com/AYMENJD/redc/refs/heads/main/assets/images/redc-logo.png\">\n</div>\n\n[![Version](https://img.shields.io/pypi/v/redc?style=flat&logo=curl&logoColor=red&color=red)](https://pypi.org/project/RedC) [![CURL version](https://img.shields.io/badge/Curl-v8.12.0-red?logo=curl)](https://curl.se/ch/8.12.0.html) [![Downloads](https://static.pepy.tech/personalized-badge/redc?period=month&units=none&left_color=grey&right_color=brightgreen&left_text=Downloads)](https://pepy.tech/project/redc)\n\n**RedC** is a **high-performance**, asynchronous **HTTP** client library for **Python**, built on top of the powerful **curl** library. It provides a simple and intuitive interface for making HTTP requests and handling responses\n\n## Features\n\n- **Asynchronous by Design**: Built with `asyncio` for non-blocking HTTP requests\n- **HTTP/2 Support**: Fully compatible with `HTTP/2` for faster and more efficient communication\n- **curl Backend**: Leverages the speed and reliability of curl for HTTP operations\n- **Streaming Support**: Stream large responses with ease using callback functions\n- **Proxy Support**: Easily configure proxies for your requests\n\n## Installation\n\nYou can install RedC via pip:\n\n```bash\npip install redc\n```\n\n## Quick Start\n\n```python\nimport asyncio\nfrom redc import Client\n\nasync def main():\n    async with Client(base_url=\"https://jsonplaceholder.typicode.com\") as client:\n        # Make a GET request\n        response = await client.get(\"/posts/1\")\n        response.raise_for_status()\n        print(response.status_code)  # 200\n        print(response.json())  # {'userId': 1, 'id': 1, 'title': '...', 'body': '...'}\n\n        # Make a POST request with JSON data\n        response = await client.post(\n            \"/posts\",\n            json={\"title\": \"foo\", \"body\": \"bar\", \"userId\": 1},\n        )\n        response.raise_for_status()\n        print(response.status_code)  # 201\n        print(response.json())  # {'id': 101, ...}\n\nasyncio.run(main())\n```\n\n## License\n\nMIT [LICENSE](https://github.com/AYMENJD/redc/blob/main/LICENSE)\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "RedC is a high-performance, asynchronous HTTP client library for Python, built on top of the powerful curl library",
    "version": "0.1.2",
    "project_urls": {
        "Source": "https://github.com/AYMENJD/redc",
        "Tracker": "https://github.com/AYMENJD/redc/issues"
    },
    "split_keywords": [
        "asyncio",
        " http",
        " client",
        " http-client",
        " curl",
        " libcurl"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "5dd0c3d8edb0756764160b12bcdf78e21964443bdd6dd0879ac13649f1437951",
                "md5": "5ca980f6594df485726287aa5b0c5625",
                "sha256": "1465a374d31fb26465955d292b9413ad9de08f7596ccb19e0c47eb33e21f7d1e"
            },
            "downloads": -1,
            "filename": "redc-0.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "5ca980f6594df485726287aa5b0c5625",
            "packagetype": "bdist_wheel",
            "python_version": "cp310",
            "requires_python": ">=3.9",
            "size": 12510873,
            "upload_time": "2025-02-10T05:09:51",
            "upload_time_iso_8601": "2025-02-10T05:09:51.994899Z",
            "url": "https://files.pythonhosted.org/packages/5d/d0/c3d8edb0756764160b12bcdf78e21964443bdd6dd0879ac13649f1437951/redc-0.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "a41a44f713b0f03e14c5c6dcbeac6f87cbd25333eb417d1010d9133dbb3bd6ef",
                "md5": "35999795482afec902d72cb67a4d5ef9",
                "sha256": "914d36b620f01a302114b09143b5225e2ea255055a4b62af1d252e0680d97b2f"
            },
            "downloads": -1,
            "filename": "redc-0.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "35999795482afec902d72cb67a4d5ef9",
            "packagetype": "bdist_wheel",
            "python_version": "cp311",
            "requires_python": ">=3.9",
            "size": 12510646,
            "upload_time": "2025-02-10T05:09:56",
            "upload_time_iso_8601": "2025-02-10T05:09:56.144734Z",
            "url": "https://files.pythonhosted.org/packages/a4/1a/44f713b0f03e14c5c6dcbeac6f87cbd25333eb417d1010d9133dbb3bd6ef/redc-0.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "ccb4914711f0c2691e30f170a914d64b8adb1ba8e14113a9af1e4a4a577dd110",
                "md5": "6aa127e19fb23e023abc2c6c4e3d80da",
                "sha256": "fda0844d08afeef56be302768b2cb2300167a12c8d31175181009d478f3480ae"
            },
            "downloads": -1,
            "filename": "redc-0.1.2-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "6aa127e19fb23e023abc2c6c4e3d80da",
            "packagetype": "bdist_wheel",
            "python_version": "cp312",
            "requires_python": ">=3.9",
            "size": 12505409,
            "upload_time": "2025-02-10T05:09:59",
            "upload_time_iso_8601": "2025-02-10T05:09:59.401108Z",
            "url": "https://files.pythonhosted.org/packages/cc/b4/914711f0c2691e30f170a914d64b8adb1ba8e14113a9af1e4a4a577dd110/redc-0.1.2-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "4cfefcb1e6a7a0cdf8f4217999798cf607bde01cc478cee0ad24654fa62f03f7",
                "md5": "a97e13165a76d10880e4f34862574ea4",
                "sha256": "a1df9564ec5c872f0a8b011dbb0bda8708b8b3b6694ace83d4e29ab99f4c2362"
            },
            "downloads": -1,
            "filename": "redc-0.1.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "a97e13165a76d10880e4f34862574ea4",
            "packagetype": "bdist_wheel",
            "python_version": "cp313",
            "requires_python": ">=3.9",
            "size": 12512934,
            "upload_time": "2025-02-10T05:10:03",
            "upload_time_iso_8601": "2025-02-10T05:10:03.486531Z",
            "url": "https://files.pythonhosted.org/packages/4c/fe/fcb1e6a7a0cdf8f4217999798cf607bde01cc478cee0ad24654fa62f03f7/redc-0.1.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "58edf27fa3139a2742003a47fff417bf5370826807fdc11745168dba4ae6a807",
                "md5": "8eeb93032617dbd1b6661231b72a1c9f",
                "sha256": "bd67f5241a04d0333d0e11b990761da7511e43252c01660f58b9aa0fa0ca6482"
            },
            "downloads": -1,
            "filename": "redc-0.1.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "has_sig": false,
            "md5_digest": "8eeb93032617dbd1b6661231b72a1c9f",
            "packagetype": "bdist_wheel",
            "python_version": "cp39",
            "requires_python": ">=3.9",
            "size": 12511115,
            "upload_time": "2025-02-10T05:10:07",
            "upload_time_iso_8601": "2025-02-10T05:10:07.623860Z",
            "url": "https://files.pythonhosted.org/packages/58/ed/f27fa3139a2742003a47fff417bf5370826807fdc11745168dba4ae6a807/redc-0.1.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c007c5a34b1757086a3f300960ea928617733d9d2aca6c7bd09725ca3f15ec55",
                "md5": "da6080e23472318afe9e700af76fb126",
                "sha256": "248da2962aa91f9864efdd505f41297d1514f135b5654bc8097fc26d1122fea1"
            },
            "downloads": -1,
            "filename": "redc-0.1.2.tar.gz",
            "has_sig": false,
            "md5_digest": "da6080e23472318afe9e700af76fb126",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 66944,
            "upload_time": "2025-02-10T05:10:10",
            "upload_time_iso_8601": "2025-02-10T05:10:10.073530Z",
            "url": "https://files.pythonhosted.org/packages/c0/07/c5a34b1757086a3f300960ea928617733d9d2aca6c7bd09725ca3f15ec55/redc-0.1.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-02-10 05:10:10",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "AYMENJD",
    "github_project": "redc",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "redc"
}
        
Elapsed time: 0.56268s