[python] Requests

軽々しく print/traceback を使うな

logger = logging.getLogger(__name__); logger.error, logger.exception でいいから。直接吐かないで。
gevent 0.13.7 の gevent.greenlet.Greenlet._report_error が丁寧にエラーを書きだしてくれるので適当に無効にします。

import sys, io
sys.stderr = io.BytesIO()

request --> response with context

こうだよ

>>> import requests
>>> response = requests.get(
...    'http://www.google.com/',
...    hooks={'response': lambda response: setattr(response, 'context', 'Hello')},
...    )
>>> print(response.context)
Hello