Python HTTP library with thread-safe connection pooling, file post support, sanity friendly, and more.
Python Other
Latest commit 6f4a7b0 Oct 21, 2016 @Lukasa Lukasa committed on GitHub Merge pull request #1004 from Lukasa/add-codecov
Try using codecov.
Failed to load latest commit information.
_travis Seems like version mismatch is the issue. Oct 20, 2016
docs Fix a typo in the user guide documentation Sep 8, 2016
dummyserver Support retry for 413, 429 and 503 status code Sep 26, 2016
test parse_retry_after: Disallow non-integer digits, allow whitespace Sep 29, 2016
urllib3 Make BodyNotHttplibCompatible inherit from HttpError, urllib3's base … Oct 12, 2016
.coveragerc Add include=urllib3/* to prevent core module coverage through six.moves Aug 5, 2016
.gitignore Reverted some changes to gitignore Jan 13, 2012
.hgignore Removed egg-info, updated hgignore. Sep 18, 2011
.hgtags Added tag 0.4.1 for changeset 38339cf1816e Jul 18, 2011
.travis.yml Seems like version mismatch is the issue. Oct 20, 2016
CHANGES.rst CHANGES for #990 Oct 13, 2016
CONTRIBUTORS.txt enforce_content_length for incrementally read responses Aug 28, 2016
LICENSE.txt Update license year range to 2016 Jan 26, 2016 Packaging: Tweaking to add missing files. Aug 6, 2014
Makefile Fix GAE_PYTHONPATH error in Makefile Sep 10, 2016
README.rst Update README.rst to better reflect new documentation. Jul 29, 2016
codecov.yml Make codecov enforce 100% coverage. Oct 20, 2016
dev-requirements.txt Exclude pkginfo 1.3.0 from installation. May 24, 2016 Fix release script Jun 11, 2016
setup.cfg Remove 100% requirement from nosetests. Oct 20, 2016 Remove markers from Sep 27, 2016
tox.ini Remove 100% requirement from nosetests. Oct 20, 2016



Build status on Travis Documentation Status PyPI version Bountysource

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:

  • 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 and deflate 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.