urllib3 is a powerful, user-friendly HTTP client for Python. 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, brotli, and zstd encoding.
- Proxy support for HTTP and SOCKS.
- 100% test coverage.
... and many more features, but most importantly: Our maintainers have a 15+ year track record of maintaining urllib3 with the highest code standards and attention to security and safety.
Much of the Python ecosystem already uses urllib3 and you should too.
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
$ pip install .
Getting Started
urllib3 is easy to use:
>>> import urllib3
>>> resp = urllib3.request("GET", "http://httpbin.org/robots.txt")
>>> resp.status
200
>>> resp.data
b"User-agent: *\nDisallow: /deny\n"
urllib3 has usage and reference documentation at urllib3.readthedocs.io.
Community
urllib3 has a community Discord channel for asking questions and collaborating with other contributors. Drop by and say hello 👋
Contributing
urllib3 welcomes contributions. Please read our contributing documentation before starting work.
Check for existing pull requests addressing the same issue, and share feedback and suggestions in the existing pull request and issue. Duplicate pull requests, including alternative solutions, will be rejected without review unless a maintainer has approved opening an alternative pull request in advance.
Security Disclosures
To report a security vulnerability, please use the Tidelift security contact. Tidelift will coordinate the fix and disclosure with maintainers.
See the repository Security Policy for more details.
Maintainers
Meet our maintainers since 2008:
- Current Lead: @illia-v (Illia Volochii)
- @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
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.
Release files for urllib3 2.8.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| urllib3-2.8.0.tar.gz | 459.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| urllib3-2.8.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 594.7 kB
Release files / urllib3-2.8.0.tar.gz
| Download URL | urllib3-2.8.0.tar.gz |
|---|---|
| Size | 459.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
63bf2ead4c879426ebf22ef2a781eeb4aa3b4ae798a0435506f8687fd5bb9b63
|
|
BLAKE2b-256 checksum How to use checksums |
e305b17359e1cefb4f909b5e40b1b90a496d987258916dbbf88e842c729f510e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 15, 2026.
Transparency logRelease files / urllib3-2.8.0-py3-none-any.whl
| Download URL | urllib3-2.8.0-py3-none-any.whl |
|---|---|
| Size | 135.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0cf3cae568d36aa9576b28dfb35f11328f1cb974ca7647d9475ebb86c75ac6e3
|
|
BLAKE2b-256 checksum How to use checksums |
929dc4e665119135114480843e7ab388fa94d8480650450e6f8e26b70d323a4c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 15, 2026.
Transparency log