finds.dev← search

// the find

kennethreitz/requests3

★ 792 · Python · CC0-1.0 · updated Jan 2020

Requests 3.0, for Humans and Machines, alike. 🤖

An abandoned attempt to rewrite the requests library with async support, type annotations, and HTTP/2. The last commit was January 2020, six years ago, and the README itself warned it was a work in progress targeting 'before PyCon 2020' — which came and went. For anyone needing what this promised, httpx exists and is maintained.

The architecture separated sync and async transport layers cleanly, with distinct `_sync` and `_async` subpackages under `core/_http` — a structural decision that httpx later validated. Required timeouts as a default was a good call that requests-classic still doesn't enforce. Type annotations were added throughout the public API before that was standard practice. Bundling requests-toolbelt into the core was sensible since most serious users needed it anyway.

Dead project — zero commits since 2020, and the PyPI package it points to (`requests3`) was never actually published as this version. The internal http layer is a vendored fork of urllib3 with async bolted on, which httpx solved properly by using httpcore. Documentation links point to a domain that no longer serves these docs. Anyone looking at this repo for adoption guidance should just use httpx instead; there is no scenario where requests3 is the right choice today.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →