View on GitHub


Python coding companion.

Download this project as a .zip file Download this project as a tar.gz file


Jarvis was inspired by works of Bret Victor, especially his talk Inventing on Principle. The central idea is that the feedback loop when you are coding should be the shortest possible, so you can see the effect of your code changes instantly, or almost.

Jarvis implements a (small ?) subset of these ideas.

Those ideas are also used in the Light Table KickStarter project.

What can I do with Jarvis ?

The best way to discover it is to watch the demo video.

How would you define Jarvis ?

Jarvis is a Python coding companion. Point it to a python function, and it will execute it. As soon as you change your code in your favorite text editor, Jarvis will detect it, and will rerun the function, using some nice Python tricks to reload code without rerunning the full interpreter.

You can insert in your code some debug statements, that will be displayed in the Jarvis interface. If an exception is raised, it will be shown as well.

Last, but not least, if you are using OpenSceneGraph Python bindings, you will be able to output an OSG tree to the Jarvis interface. This way, you can instantly see the new 3D scene your code is generating, in a way similar to the talk "Inventing on Principle".

There are a lot of cool additions, like live variable inspections, time scrubbing in the OSG window etc. And more to come !


You will find a more extensive documentation at Jarvis Read The Docs.


Jarvis uses Qt & PyQt, OpenSceneGraph & osgswig.

You will need Pymacs if you want to use the emacs bindings, and Jinja2 if you want to use the code snippets tools.


You just have to install the dependencies (osg, osgswig, qt, pyqt, pymacs, jinja2) and then pip install jarvis.


You can help me work on this project using gittip:


Francois Lagunas, CTO, Stupeflix.