Skip to content

Latest commit

 

History

History
52 lines (33 loc) · 1.57 KB

README.md

File metadata and controls

52 lines (33 loc) · 1.57 KB

code formatting pypi badge

uplink-httpx

Uplink-Httpx is an asynchronous HTTP client based on HTTPX for the awesome Uplink REST library.

Use it like any other HTTP client for uplink.

import asyncio

import uplink

from uplink_httpx import HttpxClient


@uplink.headers({"Accept": "application/json"})
@uplink.returns.json()
class HttpBin(uplink.Consumer):
    @uplink.get("get")
    def get(self):
        pass


async def demo():
    httpbin = HttpBin(base_url="https://httpbin.org", client=HttpxClient())
    resp = await httpbin.get()
    print(resp)
    # {'args': {}, 'headers': {'Accept': 'application/json', 'Accept-Encoding': 'gzip, deflate', 'Host': 'httpbin.org', 'User-Agent': 'python-httpx/0.9.5'}, ... 'url': 'https://httpbin.org/get'}


loop = asyncio.get_event_loop()
loop.run_until_complete(demo())

Features

HTTPX builds on the well-established usability of requests, and gives you:

  • A requests-compatible API wherever possible. No issues between async and sync clients anymore.
  • HTTP/2 and HTTP/1.1 support.
  • Strict timeouts everywhere.