Where is the history file for ipython

Question:

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
Asked By: WestCoastProjects

||

Answers:

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.

Answered By: Stefano Sanfilippo

If you want your IPython history in a plain-text file, you can export it yourself.

%history -g -f filename 
Answered By: Christian Long
Categories: questions Tags: ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.