Skip to content
Working repository for adding async support to urllib3
Python Shell
Branch: master
Clone or download
RatanShreshtha and pquentin Enable random test ordering in unit tests (#190)
* Enable random test ordering in unit tests

* Add pypy3 in the CI
Latest commit bc0089f Dec 14, 2019



Build status on Travis Build status on AppVeyor Documentation Status Coverage Status PyPI version Gitter

urllib3 is a powerful, sanity-friendly HTTP client for Python. Much of the Python ecosystem already uses urllib3 and you should too. urllib3 brings many critical features that are missing from the Python standard libraries:

Currently not supporting SOCKS proxies, pyOpenSSL and SecureTransport.

  • Thread safety.
  • Connection pooling.
  • Client-side SSL/TLS verification.
  • File uploads with multipart encoding.
  • Helpers for retrying requests and dealing with HTTP redirects.
  • Support for gzip, deflate, and brotli encoding.
  • Proxy support for HTTP and SOCKS.
  • 100% test coverage.

urllib3 is powerful and easy to use:

>>> import urllib3
>>> http = urllib3.PoolManager()
>>> r = http.request('GET', '')
>>> r.status
'User-agent: *\nDisallow: /deny\n'


urllib3 can be installed with pip:

$ pip install urllib3

Alternatively, you can grab the latest source code from GitHub:

$ git clone git://
$ python install


urllib3 has usage and reference documentation at


urllib3 happily accepts contributions. Please see our contributing documentation for some tips on getting started.




If your company benefits from this library, please consider sponsoring its development.

Sponsors include:

  • Abbott (2018-2019), sponsored @sethmlarson's work on urllib3.
  • Google Cloud Platform (2018-2019), sponsored @theacodes's work on urllib3.
  • Akamai (2017-2018), sponsored @haikuginger's work on urllib3
  • Hewlett Packard Enterprise (2016-2017), sponsored @Lukasa’s work on urllib3.
You can’t perform that action at this time.