Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/uber/cassette

Store and replay HTTP requests made in your Python app
https://github.com/uber/cassette

Last synced: 4 days ago
JSON representation

Store and replay HTTP requests made in your Python app

Awesome Lists containing this project

README

        

Cassette
========

**Deprecation Warning**: cassette has some known limitations and is not maintained anymore, we recommend using `vcrpy `_ instead.

.. image:: https://img.shields.io/pypi/v/cassette.svg

Cassette stores and replays HTTP requests made in your Python app.

.. code:: python

import urllib2

import cassette

with cassette.play("data/responses.yaml"):

# If the request is not already stored in responses.yaml, cassette
# will request the URL and store its response in the file.
r = urllib2.urlopen("http://www.internic.net/domain/named.root")

# This time, the request response must be in the file. The external
# request is not made. cassette retrieves the response from the
# file.
r = urllib2.urlopen("http://www.internic.net/domain/named.root")

assert "A.ROOT-SERVERS.NET" in r.read(10000)

Cassette also supports the `requests `_
library.

.. code:: python

import requests

with cassette.play("data/responses.yaml"):
r = requests.get("http://www.internic.net/domain/named.root")

Note that requests stored between different libraries may not be compatible with
each other. That is, a request stored with ``urllib2`` might still trigger an external
request is the same URL is requested with ``requests``.

Installation
------------

.. code-block:: sh

$ pip install cassette

Documentation
-------------

Latest documentation: `cassette.readthedocs.org `_

License
-------

cassette is available under the MIT License.

Copyright Uber 2013, Charles-Axel Dein