.. raw:: html
![urllib3](./docs/_static/banner.svg)
![PyPI Version](https://img.shields.io/pypi/v/urllib3.svg?maxAge=86400)
![Python Versions](https://img.shields.io/pypi/pyversions/urllib3.svg?maxAge=86400)
![Join our Discord](https://img.shields.io/discord/756342717725933608?color=%237289da&label=discord)
![Coverage Status](https://img.shields.io/codecov/c/github/urllib3/urllib3.svg)
![Build Status on GitHub](https://github.com/urllib3/urllib3/workflows/CI/badge.svg)
![Build Status on Travis](https://travis-ci.org/urllib3/urllib3.svg?branch=master)
![Documentation Status](https://readthedocs.org/projects/urllib3/badge/?version=latest)
urllib3 is a powerful, *user-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, deflate, and brotli encoding.
- Proxy support for HTTP and SOCKS.
- 100% test coverage.
urllib3 is powerful and easy to use:
.. code-block:: python
>>> import urllib3
>>> http = urllib3.PoolManager()
>>> r = http.request('GET', 'http://httpbin.org/robots.txt')
>>> r.status
200
>>> r.data
'User-agent: *\nDisallow: /deny\n'
Installing
----------
urllib3 can be installed with `pip `_::
$ python -m pip install urllib3
Alternatively, you can grab the latest source code from `GitHub `_::
$ git clone https://github.com/urllib3/urllib3.git
$ cd urllib3
$ git checkout 1.26.x
$ pip install .
Documentation
-------------
urllib3 has usage and reference documentation at `urllib3.readthedocs.io `_.
Contributing
------------
urllib3 happily accepts contributions. Please see our
`contributing documentation `_
for some tips on getting started.
Security Disclosures
--------------------
To report a security vulnerability, please use the
`Tidelift security contact `_.
Tidelift will coordinate the fix and disclosure with maintainers.
Maintainers
-----------
- `@sethmlarson `__ (Seth M. Larson)
- `@pquentin `__ (Quentin Pradet)
- `@theacodes `__ (Thea Flowers)
- `@haikuginger `__ (Jess Shapiro)
- `@lukasa `__ (Cory Benfield)
- `@sigmavirus24 `__ (Ian Stapleton Cordasco)
- `@shazow `__ (Andrey Petrov)
👋
Sponsorship
-----------
If your company benefits from this library, please consider `sponsoring its
development `_.
For Enterprise
--------------
.. |tideliftlogo| image:: https://nedbatchelder.com/pix/Tidelift_Logos_RGB_Tidelift_Shorthand_On-White_small.png
:width: 75
:alt: Tidelift
.. list-table::
:widths: 10 100
* - |tideliftlogo|
- Professional support for urllib3 is available as part of the `Tidelift
Subscription`_. Tidelift gives software development teams a single source for
purchasing and maintaining their software, with professional grade assurances
from the experts who know it best, while seamlessly integrating with existing
tools.
.. _Tidelift Subscription: https://tidelift.com/subscription/pkg/pypi-urllib3?utm_source=pypi-urllib3&utm_medium=referral&utm_campaign=readme