# storemagic

%store magic for lightweight persistence.

Stores variables, aliases and macros in IPython’s database.

To automatically restore stored variables at startup, add this to your `ipython_config.py` file:

    c.StoreMagics.autorestore = True

`StoreMagics.``store`(parameter_s='')

  Lightweight persistence for python variables.

  Example:

      In [1]: l = ['hello',10,'world']
      In [2]: %store l
      In [3]: exit

      (IPython session is closed and started again...)

      ville@badger:~$ ipython
      In [1]: l
      NameError: name 'l' is not defined
      In [2]: %store -r
      In [3]: l
      Out[3]: ['hello', 10, 'world']

  Usage:

  - `%store` - Show list of all variables and their current
      values
  - `%store spam` - Store the current value of the variable spam
      to disk
  - `%store -d spam` - Remove the variable and its value from storage
  - `%store -z` - Remove all variables from storage
  - `%store -r` - Refresh all variables from store (overwrite
      current vals)
  - `%store -r spam bar` - Refresh specified variables from store
      (delete current val)
  - `%store foo >a.txt` - Store value of foo to new file a.txt
  - `%store foo >>a.txt` - Append value of foo to file a.txt

  It should be noted that if you change the value of a variable, you need to %store it again if you want to persist the new value.

  Note also that the variables will need to be pickleable; most basic python types can be safely %store’d.

  Also aliases can be %store’d across sessions.