How requests is put together
psf/requests is a pure-Python HTTP client library ('HTTP for Humans') distributed on PyPI, providing a simple functional API (get/post/etc.) layered over a Session abstraction that manages cookies, auth, proxies, and redirects. The functional API in api.py delegates to Session objects, which build PreparedRequest models, dispatch them through pluggable transport Adapters (HTTPAdapter built on urllib3), and return Response objects. It supports Basic/Digest/Proxy authentication, TLS verification via certifi, cookie persistence, connection pooling, and content decoding. The data flow is: user call -> Session.request -> Request.prepare -> HTTPAdapter.send (urllib3) -> Response, with hooks and redirect resolution applied along the way.
Languages
Infrastructure
Major components
Functional API (api.py)
Exposes top-level get/post/put/patch/delete/head/options/request helpers that create a transient Session per call.
Sessions
Manages and persists settings across requests (cookies, auth, proxies), prepares requests, resolves redirects, and dispatches to adapters.
Authentication (auth.py)
Implements HTTP Basic, Digest, and Proxy authentication handlers attaching credentials to prepared requests.
Transport Adapters (adapters.py)
Provides HTTPAdapter/BaseAdapter that send prepared requests via urllib3 connection pools with TLS, proxy, and retry handling.
Models (models.py)
Defines Request, PreparedRequest, and Response objects encapsulating request preparation and response parsing.
Cookies (cookies.py)
Provides RequestsCookieJar and helpers to merge, extract, and convert cookies between dicts and cookiejars.
Utilities (utils.py / _internal_utils.py)
Offers URL/header parsing, proxy resolution, netrc auth extraction, and encoding helpers used throughout the library.
Certificates & Compat (certs.py / compat.py)
Supplies the certifi CA bundle path and cross-version compatibility shims for imports and types.
Updated automated maintenance tools, including the issue-locking bot and the code-linting tool.
5 weeksWeek of 2026-08-24
Week of 2026-08-24latest
Updated automated maintenance tools, including the issue-locking bot and the code-linting tool.
Week of 2026-08-17
Routine version bump to the automated code-linting tool.
Week of 2026-08-10
Routine version bump to the automated code-linting tool.
Week of 2026-08-03
Routine version bump to the automated code-linting tool.
Week of 2026-07-27
Updated GitHub Actions workflows and the automated code-linting tool.
Over the past several weeks, the requests project has focused entirely on routine maintenance and housekeeping rather than new features or user-facing changes. The dominant activity has been keeping automated code-quality and workflow tools up to date, with regular small version bumps to the linting tool and GitHub automation. This reflects a stable, mature project in steady upkeep mode.
Week by week
2026-08-24Updated automated maintenance tools, including the issue-locking bot and the code-linting tool.latest2 changes
Chore
Upgraded issue-locking automation
Bumped the bot that automatically locks inactive issues and pull requests to its latest version (v6.0.2).
Chore
Updated code-linting tool
Bumped the ruff linter used to automatically check code style to version v0.16.3.
2026-08-17Routine version bump to the automated code-linting tool.1 change
Chore
Updated code-linting tool
Bumped the ruff linter to its latest release to keep code-style checks current.
2026-08-10Routine version bump to the automated code-linting tool.1 change
Chore
Updated code-linting tool
Bumped the ruff linter to its latest release to keep code-style checks current.
2026-08-03Routine version bump to the automated code-linting tool.1 change
Chore
Updated code-linting tool
Bumped the ruff linter to its latest release to keep code-style checks current.
2026-07-27Updated GitHub Actions workflows and the automated code-linting tool.2 changes
Chore
Updated GitHub Actions dependencies
Bumped a group of two GitHub Actions used in the project's automated workflows.
Chore
Updated code-linting tool
Bumped the ruff linter to its latest release to keep code-style checks current.
Dependencies and code review
Dependency advisories
Security Watch
No known advisories across 0 scanned dependencies.
No known advisories in the scanned dependencies.
Code review
No concrete code-level issues confirmed.
Get this report every week for your repos.
GitZoid learns each repo, reports what changed, and flags what needs attention. One flat price for the whole team.
$19 a month, flat · First 10 outputs free · No card required