Requests III is in full motion towards completion with an expected release date being "before PyCon 2020". There’s a lot of work left to do, but that’s the best part about building software :)



Work done so far:

Adding type annotations to all public interfaces within the library.

Refactoring all the namespaces, to be much more declarative.

Adapting the existing architecture to be compatible with an asynchronous programming model.

Testing different async systems, deciding which one to "vet" for general usage by the masses.

Collecting community feedback, pain points, and desired changes.

Designing the primary "requests3.core" API, which the rest of requests3 sits upon.

Orchestrating with the rest of the Python ecosystem, and attempting to find a suitable solution for the asynchronous low-level requirements.

Some very, very nasty merge conflict resolution :)



Left work to do:

Integration with a low-level HTTP library (current plan: httpcore by Tom Christie).

Finalizing API changes/requirements.

Lots of polish.

Product documentation (the hardest part).

Beta release?

Release & Maintenance Bug triage for new users Shipping hotfixes





My efforts lie outside the realm of my day job, and are compensated for by a fundraiser I ran over a year ago. While requests is actively maintained by a group of committers, this fundraiser was specifically for the development of Requests III, which I determined I should develop on my own. I hadn’t been involved with Requests in quite some time, and found this to be the best way to contribute meaningfully back to the project, once again: with the release of a brand-new requests3.

I would like to apologize to the Python community (and specifically the Requests maintainers) for a lack of transparency (which is best-practice) around the fundraiser and my intentions with Requests III. Hindsight is always 20/20.

The Python community has been nothing but supportive of me, throughout my journey. I sincerely hope that we can continue to work together towards a common goal, to help make the world a little bit of a better place — through our code, our thoughts, and our actions.



Much Love,

Kenneth Reitz