python-requests-toolbelt
Port variant py37
Summary Utilities collection for Requests (PY37)
Package version 0.9.1
Homepage https://toolbelt.readthedocs.org
Keywords python
Maintainer Python Automaton
License Not yet specified
Other variants py38
Ravenports Buildsheet | History
Ravensource Port Directory | History
Last modified 20 APR 2020, 15:00:59 UTC
Port created 12 OCT 2018, 03:30:34 UTC
Subpackage Descriptions
single The Requests Toolbelt ===================== This is just a collection of utilities for `python-requests`_, but don't really belong in requests proper. The minimum tested requests version is ``2.1.0``. In reality, the toolbelt should work with ``2.0.1`` as well, but some idiosyncracies prevent effective or sane testing on that version. ``pip install requests-toolbelt`` to get started! multipart/form-data Encoder --------------------------- The main attraction is a streaming multipart form-data object, MultipartEncoder. Its API looks like this: .. code-block:: python from requests_toolbelt import MultipartEncoder import requests m = MultipartEncoder( fields={'field0': 'value', 'field1': 'value', 'field2': ('filename', open('file.py', 'rb'), 'text/plain')} ) r = requests.post('http://httpbin.org/post', data=m, headers={'Content-Type': m.content_type}) You can also use ``multipart/form-data`` encoding for requests that don't require files: .. code-block:: python from requests_toolbelt import MultipartEncoder import requests m = MultipartEncoder(fields={'field0': 'value', 'field1': 'value'}) r = requests.post('http://httpbin.org/post', data=m, headers={'Content-Type': m.content_type}) Or, you can just create the string and examine the data: .. code-block:: python # Assuming `m` is one of the above m.to_string() # Always returns unicode User-Agent constructor ---------------------- You can easily construct a requests-style ``User-Agent`` string:: from requests_toolbelt import user_agent headers = { 'User-Agent': user_agent('my_package', '0.0.1') } r = requests.get('https://api.github.com/users', headers=headers) SSLAdapter ---------- The SSLAdapter was originally published on `Cory Benfield's blog`_. This adapter allows the user to choose one of the SSL protocols made available in Python's ssl module for outgoing HTTPS connections: .. code-block:: python from requests_toolbelt import SSLAdapter import requests import ssl s = requests.Session() s.mount('https://', SSLAdapter(ssl.PROTOCOL_TLSv1)) cookies/ForgetfulCookieJar -------------------------- The ForgetfulCookieJar prevents a particular requests session from storing cookies: .. code-block:: python from requests_toolbelt.cookies.forgetful import ForgetfulCookieJar session = requests.Session() session.cookies = ForgetfulCookieJar() Known Issues ------------ On Python 3.3.0 and 3.3.1, the standard library's http module will fail when passing an instance of the MultipartEncoder. This is fixed in later
Configuration Switches (platform-specific settings discarded)
PY37 ON Build using Python 3.7 PY38 OFF Build using Python 3.8
Package Dependencies by Type
Build and Runtime python-requests:single:py37
python37:single:standard
python-setuptools:single:py37
Download groups
main mirror://PYPI/r/requests-toolbelt
Distribution File Information
968089d4584ad4ad7c171454f0a5c6dac23971e9472521ea3b6d49d610aa6fc0 207286 requests-toolbelt-0.9.1.tar.gz
Ports that require python-requests-toolbelt:py37
python-e3-core:py37 E3 core. Tools and library for building and (PY37)
python-vdirsyncer:py37 Synchronize calendars and contacts (PY37)