javadba javadba - 2 months ago 13
Python Question

Where is the history file for ipython

I can not determine where the ipython is storing its history.

a. There is no ~/.pythonhistory:

12:49:00/dashboards $ll ~/.py*
ls: /Users/steve/.py*: No such file or directory


b. Nothing special in the python startup file:

12:49:07/dashboards $echo $PYTHONSTARTUP
/shared/.pythonstartup
12:49:43/dashboards $cat /shared/.pythonstartup
import rlcompleter
import readline

readline.parse_and_bind("tab: complete")


c. BUT: i do have plenty of history available in ipython when I start it up.

So where is that history being stored?

UPDATE the answer from @Stefano led the correct way: here is the actual path

13:30:05/shared $ll ~/.ipython/profile_default/history.sqlite
-rw-r--r-- 1 steve staff 372736 Jun 3 12:48 /Users/steve/.ipython/profile_default/history.sqlite

Answer

IPython history is stored in a SQLite database located in the profile directory. By default:

~/.ipython/profile_default/history.sqlite

Older versions (1.x) stored profile data in ~/.config/ipython, at least on platforms conforming to XDG basedir specs (i.e. most Linux distributions).

Anyway, you can locate the profile directory with:

$ ipython locate profile default

Notice that the history database is shared between IPython and IPython3, if both are installed.