Managing AppEngine from IPython

When developing a Google Appengine application, it can be a pain to manipulate the data in it, as you don’t have a console where to write python code (like you have in the dev appserver). Fortunately, a remote api exists.

I wanted a bit more, though:

  • integration with IPython, to benefit from code completion and other goodies
  • ability to use my .netrc as a credentials provider

So here is an IPython profile that does that (in addition, it wraps the functionality of appcfg). Except for the bulkloader functionality, which is kind of ugly, the original code from appengine was generic enough to allow that kind of manipulation in a relatively clean way.

And this is what it allows:

Just in case, my ~/.netrc looks like:

And of course, all those appengine libraries have to be somewhere in your python path. Here is the .pth file for my dedicated virtualenv