requests
Python HTTP for Humans.
Install
requests on PyPI
pip
pip install requestsuv
uv add requestspoetry
poetry add requestsPackage facts
| License | Apache-2.0 (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 4 — charset_normalizer, idna, urllib3, certifi |
| Maintenance | actively maintained — 91 days since the last release |
| Last repo commit | |
| First released | |
| Popularity | one of the 100 most-downloaded packages on PyPI (30-day window, as of 2026-08-13) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-13) |
Evidence: requests-2.34.2-py3-none-any.whl
About requests
from the package's own PyPI description — quoted content, verbatim
Requests
Version (image) Supported Versions (image) Downloads (image) Contributors (image) Documentation (image)
Requests is a simple, yet elegant, HTTP library.
>>> import requests
>>> r = requests.get('https://httpbin.org/basic-auth/user/pass', auth=('user', 'pass'))
>>> r.status_code
200
>>> r.headers['content-type']
'application/json; charset=utf8'
>>> r.encoding
'utf-8'
>>> r.text
'{"authenticated": true, ...'
>>> r.json()
{'authenticated': True, ...}
Requests allows you to send HTTP/1.1 requests extremely easily. There’s no need to manually add query strings to your URLs, or to form-encode your PUT & POST data — but nowadays, just use the json method!
Requests is one of the most downloaded...
AI interpretation — verify before relying
AI-generated interpretation of the package facts above; every digit, version, license, or vulnerability id it cites is grounded in the facts already shown on this page
Requests is a human-friendly HTTP library for sending HTTP/1.1 requests with automatic handling of headers, authentication, cookies, redirects, and content encoding.
Low install friction with four lightweight runtime dependencies (charset_normalizer, idna, urllib3, certifi). Actively maintained with last commit on 2026-08-11 and 91 days since the latest release—solid maintenance signal.
Licensed under Apache-2.0 (permissive), allowing commercial and private use with minimal restrictions; attribution and license notice are required.
Usage
pip install requests
import requests
r = requests.get('https://httpbin.org/basic-auth/user/pass', auth=('user', 'pass'))
print(r.status_code, r.json())
Requires Python 3.10 or later.
Verdict: Requests is a production-stable, top-100 PyPI package with active maintenance, zero known vulnerabilities, and permissive licensing. Its low install friction and broad ecosystem adoption make it a reliable choice for HTTP operations in Python 3.10+.
Similar packages
permissive · top 100 on PyPI
urllib3permissive · top 100 on PyPI
httpx2permissive · top 1,000 on PyPI
curl-cffipermissive · top 1,000 on PyPI
httpcorepermissive · top 100 on PyPI
httplib2permissive · top 1,000 on PyPI
opentelemetry-instrumentation-requestspermissive · top 1,000 on PyPI
python-multipartpermissive · top 1,000 on PyPI
Flask-Loginpermissive · top 1,000 on PyPI
mdurlpermissive · top 100 on PyPI