$npx skillfedfor your agent

requests-toolbelt

A utility belt for advanced users of python-requests

Worth itPyPI Released May 2023299.7M downloads / moApache 2.0Pure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — requests_toolbelt-1.0.0-py2.py3-none-any.whl
v1.0.0 · released 2023-05-01 · Python >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.* · 1 runtime deps: requests

Yes, with a note on maintenance. Requests-toolbelt is stable, widely used, and carries no known vulnerabilities. Its single dependency (requests) keeps install friction low. However, the dormant maintenance status (last release 1201 days ago) means it may not track the latest requests or Python ecosystem changes. Install it if you need its specific utilities—particularly MultipartEncoder for streaming uploads—but do not expect rapid updates to new requests versions or Python releases.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires requests library version 2.1.0 or later; minimum tested version is 2.1.0.
  • Low install friction with a single runtime dependency on requests.
  • Maintenance is dormant—last release was 1201 days ago—but the repository remains active with a recent commit on 2025-01-09 and no archived status, suggesting it is stable rather than abandoned.

License · maintenance · safety

Apache 2.0 (permissive) — Licensed under Apache 2.0 (permissive), allowing use in commercial and proprietary projects with minimal restrictions beyond attribution.

last release 2023-05-01 (1201 days) · last repo commit 2025-01-09 · 1,037 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 299,705,307 downloads/mo, #137 on PyPI

Verify before relying

pip install requests-toolbelt

from requests_toolbelt import MultipartEncoder
import requests

m = MultipartEncoder(fields={'field0': 'value', 'field1': 'value'})
r = requests.post('http://example.com/post', data=m,
                  headers={'Content-Type': m.content_type})
  • Whether the dormant maintenance status (1201 days since last release) affects compatibility with current requests versions.
  • Full list of all utilities and adapters available beyond those shown in the description excerpt.
Same gist for agents: .md · .json

What it is and what it does

Requests-toolbelt is a collection of utilities that extend the requests library with features too specialized for the core library itself. Its main attraction is the MultipartEncoder, which handles streaming multipart form-data encoding for file uploads and form submissions, allowing you to construct and send complex multipart requests with fine-grained control. Beyond that, it provides SSL protocol adapters for HTTPS connections, a ForgetfulCookieJar to disable cookie storage, session helpers like BaseUrlSession, and utilities for constructing User-Agent strings.

The package depends only on requests and supports Python 2.7 and Python 3.4 through 3.11. It is classified as Production/Stable and has been maintained since 2014, though releases have slowed significantly—the latest version (1.0.0) was released on 2023-05-01. It is widely used (ranked 137 on PyPI by download volume) and carries no known security vulnerabilities.

Use it for

  • Upload files via multipart form-data with streaming to avoid loading entire payloads into memory.
  • Configure HTTPS connections to use a specific SSL/TLS protocol version via SSLAdapter.
  • Create sessions with a base URL prefix to simplify repeated requests to the same service.
  • Disable cookie persistence in a requests session using ForgetfulCookieJar.
  • Generate properly formatted User-Agent headers for HTTP requests.

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

Worth it

Yes, with a note on maintenance.

Requests-toolbelt is stable, widely used, and carries no known vulnerabilities. Its single dependency (requests) keeps install friction low. However, the dormant maintenance status (last release 1201 days ago) means it may not track the latest requests or Python ecosystem changes. Install it if you need its specific utilities—particularly MultipartEncoder for streaming uploads—but do not expect rapid updates to new requests versions or Python releases.

Install

requests-toolbelt on PyPI

Before you install

Low install friction with a single runtime dependency on requests. Maintenance is dormant—last release was 1201 days ago—but the repository remains active with a recent commit on 2025-01-09 and no archived status, suggesting it is stable rather than abandoned.

Requires requests library version 2.1.0 or later; minimum tested version is 2.1.0.

License in practice

Licensed under Apache 2.0 (permissive), allowing use in commercial and proprietary projects with minimal restrictions beyond attribution.

Quickstart

pip install requests-toolbelt

from requests_toolbelt import MultipartEncoder
import requests

m = MultipartEncoder(fields={'field0': 'value', 'field1': 'value'})
r = requests.post('http://example.com/post', data=m,
                  headers={'Content-Type': m.content_type})

Verify before relying

  • Whether the dormant maintenance status (1201 days since last release) affects compatibility with current requests versions.
  • Full list of all utilities and adapters available beyond those shown in the description excerpt.

Package facts

LicenseApache 2.0 permissive
Python supportSupports the current Python release >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*
Install frictionLow. Pure-Python wheel
Runtime dependencies
1 package
requests
MaintenanceDormant 1,201 days since the last release
Last repo commit
First released
Downloads299,705,307 / month, #137 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: Apache Software LicenseProgramming Language :: PythonProgramming Language :: Python :: 2Programming Language :: Python :: 2.7Programming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.4Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPy

Evidence: requests_toolbelt-1.0.0-py2.py3-none-any.whl

Tags

Capabilities
multipart form data encoderrequests library extensionsstreaming file uploadsssl adapter for requestsrequests session utilitieshttp client utilitiesform encoding helpers
Topics
http-client-utilitiesmultipart-encodingrequests-extension

Let your AI agent find packages like this

Example. Real query, live index.

You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.

wish › “multipart form data encoder”

Give your agent the search over MCP, or paste the wish link into any chat.

Similar packages

urllib3 Worth it
PyPI · Libraries · released May 2026

urllib3 is an HTTP client library that provides thread-safe connection pooling, SSL/TLS verification, multipart file uploads, request retries, compression support, and proxy handling for Python applications.

MITpure Python · 3.10+
1.8Bdownloads / mo
requests-file With conditions
PyPI · released Oct 2025

Requests-File adds file:// URL support to the Requests library, allowing you to read local files through the same Session interface you use for HTTP requests.

Apache-2.0pure Pythonaging
78.6Mdownloads / mo
multipart Worth it
PyPI · WWW/HTTP · released Jul 2026

Parses multipart/form-data submissions with both incremental non-blocking and streaming blocking interfaces, supporting ASGI, asyncio, WSGI, and CGI applications.

MITpure Python · 3.10+
5.6Mdownloads / mo
streaming-form-data With conditions
PyPI · WWW/HTTP · released Jun 2026

Parses multipart/form-data streams chunk-by-chunk without buffering entire payloads, enabling efficient handling of large file uploads in web applications.

MITcompiled wheel · 3.10+
528.7Kdownloads / mo
curlify With conditions
PyPI · WWW/HTTP · released May 2025

Converts a Python requests request object into an equivalent cURL command string, useful for debugging, documentation, or reproducing HTTP requests outside Python.

MITpure Python · 3.7+aging
10.2Mdownloads / mo
curlify2 With conditions
PyPI · Utilities · released Jun 2023

Converts Python requests and httpx HTTP request objects into equivalent curl command-line strings for debugging, logging, or manual execution.

However, the last release was 2023-06-09; verify that it handles the request and httpx versions in your environment before relying on it for production logging.

MITpure Pythonaging
91.0Kdownloads / mo

See also uncurl · python-multipart · requests-ntlm · pydiscourse