stenographer

An HTTP interaction recorder for Twisted Web


License
X11
Install
pip install stenographer==0.1.3

Documentation

Stenographer

An HTTP interaction recorder for Twisted Web. It aims to be compatible with the cassette format used by the VCR library for Ruby and ports like Betamax for Python, but with an API based on Twisted Web Agents.

Stenographer is not production-ready software. It's currently composed mostly of bits hacked out of Omnipresence's test helpers, is nowhere near feature parity with VCR, and ironically doesn't have a comprehensive test suite. Improvements are welcome.

Basic usage, in case the warning above wasn't scary enough:

from stenographer import CassetteAgent
from twisted.internet import reactor
from twisted.web.client import Agent, RedirectAgent

# Use CassetteAgent to wrap the innermost agent object.  In most
# cases, this will be the basic Agent in twisted.web.client.
cassette_agent = CassetteAgent(Agent(reactor), 'cassette_path.json')
agent = RedirectAgent(cassette_agent)
deferred = agent.request('GET', 'http://www.example.com/')
# Don't forget to add a save callback to the response Deferred.
deferred.addCallback(cassette_agent.save)