Using python and org-mode

Purpose

I have become accustomed to doing my exploratory data analysis in the awesome Jupyter notebooks, which are amazing tools. However, I am using Emacs org-mode for virtually everything I do on the computer now and I figured it was time to move my analysis here too.

Alternatives

I love the idea of ob-ipython, but after a few hours of work I keep getting an http parsing error and no output so I gave up.

Snippets

yas-snippet for plotting session setup

# -*- mode: snippet -*-
# name: preplot
# key: preplot
# --
#+BEGIN_SRC python :session ${1:new} :results silent
  import os
  import matplotlib
  matplotlib.use('Agg')
  import matplotlib.pyplot as plt
   if not 'img' in os.listdir("."):
      os.mkdir('img')
#+END_SRC $0

rendered:

import os
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
if not 'img' in os.listdir("."):
    os.mkdir('img')

Plotting snippet

# -*- mode: snippet -*-
# name: plot
# key: plot
# --
#+BEGIN_SRC python :session ${1:new} :results drawer :exports both
$0
print(plt.savefig('img/$2.png'))
#+END_SRC

rendered

print(plt.savefig('img/fig.png'))

I intend to explore John Kitchin's pysce module more (demo here), but for now these snippets will do!