I was wondering whether anyone has considered writing a
Mathematica-style notebook in Python. I use Python to do a lot of
scientific analysis, and I really like it's power. But what I always
envy about my friends who use Mathematica is the notebooks they
generate, which contain plots, annotations, and other information, in
a format that can be reloaded easily when you want to check your work.

Before I start...