uplink-httpx

HttpX Client for Uplink


Keywords
uplink, httpx, asyncio, rest
Licenses
MIT/MulanPSL-2.0
Install
pip install uplink-httpx==2.0

Documentation

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.