Skip to main content

A utility belt for advanced users of python-requests

Project description

requests toolbelt

This is just a collection of utilities that some users of python-requests might need but do not belong in requests proper.

multipart/form-data Encoder

The main attraction is a streaming multipart form-data object. Its API looks like:

from requests_toolbelt import MultipartEncoder

import requests


m = MultipartEncoder(
    fields={'field0': 'value', 'field1': 'value',
            'field2': ('filename', open('file.py'), 'text/plain')}
    )

r = requests.post('http://httpbin.org/post', data=m,
                  headers={'Content-Type': m.content_type})

You can also use it to just plain use multipart/form-data encoding for requests that do not require files:

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})

You can also just use it to create the string to examine the data:

# Assuming `m` is one of the above

m.to_string()  # Always returns unicode

User-Agent constructor

You can easily construct your own 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 is an implementation of the adapter proposed over on @Lukasa’s blog, here. This adapter allows the user to choose one of the SSL protocols made available in Python’s ssl module for outgoing HTTPS connections:

from requests_toolbelt import SSLAdapter

import requests
import ssl

s = requests.Session()
s.mount('https://', SSLAdapter(ssl.PROTOCOL_TLSv1))

History

0.1.1 – 2014-01-19

  • Handle io.BytesIO-like objects better

0.1.0 – 2014-01-18

  • Add initial implementation of the streaming MultipartEncoder

  • Add initial implementation of the user_agent function

  • Add the SSLAdapter

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

requests-toolbelt-0.1.1.tar.gz (6.7 kB view details)

Uploaded Source

Built Distribution

requests_toolbelt-0.1.1-py2.py3-none-any.whl (9.4 kB view details)

Uploaded Python 2Python 3

File details

Details for the file requests-toolbelt-0.1.1.tar.gz.

File metadata

File hashes

Hashes for requests-toolbelt-0.1.1.tar.gz
Algorithm Hash digest
SHA256 2e71f2f192d8c0ad7ba263a5f823f94c25a5f14d830a306faf0ab6b99ecc460b
MD5 9fa09c84b74080e998792bf1977b8707
BLAKE2b-256 541a94eb7916f1153798f0106c86aa0769ebb41351fa7cdabe0026881e807ecd

See more details on using hashes here.

File details

Details for the file requests_toolbelt-0.1.1-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for requests_toolbelt-0.1.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 efe8cd28376cc353030c75b04717984d1b8093eeda3ae889f5899e5e5151eb04
MD5 b5d7d7f458476b9a5f906aaa1a4bd6d9
BLAKE2b-256 a02ff4669727e12933cb0dbdfbf1e7a9bf92271a530a228bb0e2b869454635d6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page