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
- 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
You can install RedC via pip:
pip install redc
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())
MIT LICENSE