Defines a %%cache cell magic in the IPython notebook to cache results of long-lasting computations in a persistent pickle file
Python
Latest commit 2c334c5 May 31, 2016 @ihrke ihrke Merge pull request #43 from yoavram/patch-1
instructions to install directly from github
Permalink
Failed to load latest commit information.
examples added the other notebooks to travis test Jan 28, 2015
.travis.yml
LICENSE.md First commit. Oct 8, 2013
README
README.md instructions to install directly from github May 31, 2016
README.rst
ipycache.py optional use of cloudpickle module Oct 19, 2015
ipynb_runner.py fix ipynb runner May 29, 2015
requirements.txt add test_requirements.txt for notebook tests Jan 28, 2015
setup.py fix install bug Jun 25, 2014
test_ipycache.py fixed python3 problems with code from #30 May 29, 2015
test_requirements.txt

README.md

%%cache cell magic

Build Status

Defines a %%cache cell magic in the IPython notebook to cache results and outputs of long-lasting computations in a persistent pickle file. Useful when some computations in a notebook are long and you want to easily save the results in a file.

Example

Installation

  • pip install ipycache
  • pip install git+https://github.com/rossant/ipycache.git (for the latest development version)

Usage

  • In IPython:

    %load_ext ipycache
    
  • Then, create a cell with:

    %%cache mycache.pkl var1 var2
    var1 = 1
    var2 = 2
    
  • When you execute this cell the first time, the code is executed, and the variables var1 and var2 are saved in mycache.pkl in the current directory along with the outputs. Rich display outputs are only saved if you use the development version of IPython. When you execute this cell again, the code is skipped, the variables are loaded from the file and injected into the namespace, and the outputs are restored in the notebook.

  • Alternatively use $file_name instead of mycache.pkl, where file_name is a variable holding the path to the file used for caching.

  • Use the --force or -f option to force the cell's execution and overwrite the file.

  • Use the --read or -r option to prevent the cell's execution and always load the variables from the cache. An exception is raised if the file does not exist.

  • Use the --cachedir or -d option to specify the cache directory. You can specify a default directory in the IPython configuration file in your profile (typically in ~\.ipython\profile_default\ipython_config.py) by adding the following line:

    c.CacheMagics.cachedir = "/path/to/mycache"
    

    If both a default cache directory and the --cachedir option are given, the latter is used.