Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 16 additions & 4 deletions docs/community/recommended.rst
Original file line number Diff line number Diff line change
Expand Up @@ -35,12 +35,24 @@ requested by users within the community.
.. _Requests-Toolbelt: https://toolbelt.readthedocs.io/en/latest/index.html


Requests-Threads
----------------
Async and Concurrency
---------------------

`Requests-Threads`_ is a Requests session that returns the amazing Twisted's awaitable Deferreds instead of Response objects. This allows the use of ``async``/``await`` keyword usage on Python 3, or Twisted's style of programming, if desired.
Requests itself is blocking, but there are several actively maintained
projects that pair well with it depending on the concurrency model you want.

.. _Requests-Threads: https://github.com/requests/requests-threads
`requests-futures`_ keeps the Requests API and runs requests in background
threads, which is often the smallest change for existing code.

`gevent-requests`_ provides gevent-based concurrency for applications that
already use greenlets.

If you need a similar API with native ``async``/``await`` support, `HTTPX`_
is a good option.

.. _requests-futures: https://github.com/ross/requests-futures
.. _gevent-requests: https://github.com/gwik/gevent-requests
.. _HTTPX: https://www.python-httpx.org/

Requests-OAuthlib
-----------------
Expand Down
5 changes: 3 additions & 2 deletions docs/user/advanced.rst
Original file line number Diff line number Diff line change
Expand Up @@ -1066,11 +1066,12 @@ response at a time. However, these calls will still block.

If you are concerned about the use of blocking IO, there are lots of projects
out there that combine Requests with one of Python's asynchronicity frameworks.
Some excellent examples are `requests-threads`_, `grequests`_, `requests-futures`_, and `httpx`_.
Some excellent examples are `grequests`_, `requests-futures`_,
`gevent-requests`_, and `httpx`_.

.. _`requests-threads`: https://github.com/requests/requests-threads
.. _`grequests`: https://github.com/spyoungtech/grequests
.. _`requests-futures`: https://github.com/ross/requests-futures
.. _`gevent-requests`: https://github.com/gwik/gevent-requests
.. _`httpx`: https://github.com/encode/httpx

Header Ordering
Expand Down