Skip to content

Which HTTP client(s) should we support and which should be the default? #1

@h4l

Description

@h4l

Currently using aiohttp. Pros: mature, apparently lightweight with good performance. Cons: no HTTP2 support. httpx supports async and http2 but has a reputation for being heavier than aiohttp. I've not seen actual benchmarks to back that up though. httpx is implemented on top of httpcore, which is a low-level HTTP library which uses h2 for HTTP2 support, and supports async. This looks like it could be a good option as we don't need any high level features that httpx provides by wrapping it.

It would be sub-optimal to depend on both aiohttp and httpcore, so if we do support both it seems like we should either make both optional, or support one by default and make the other optional.

Metadata

Metadata

Assignees

No one assigned

    Labels

    questionFurther information is requested

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions