PyGTK/PyDebug Status Snapshot Jan 8 2010

From OLPC
Jump to: navigation, search

What's Working

  • Most of the major features work on FC11
  • The major breakthrough was enabling the debugger and the IPython debugee process to talk to one another. This is facilitated by a RPC package "RPYC".
  • The debugger can set macro's in the IPython shell. But there is some more work to make it easy to introspect the variables during the post mortem 'ipdb' examination of the call stack.
  • An activity that is being developed can be saved to or retrieved from the journal in zipped XO format.
  • It can also be saved or restored as an activity tree in the private data file belonging to the debugger.
  • Changes made in the editor are automatically saved when the user switches to the IPython page.
  • Unhandled exceptions or single stepping cause the cursor to move appropriately in the source view of the editor.
  • All of the normal features of IPython are avaiable for interactive debugging.


What Is Left to Complete PyDebug

  • The help browser still crashes on Sugar 0.82 when the user tries to leave the help notebook page. I think this is because the early webview.py widget hides itself by grabbing the address on the MainWindow, and hiding that. Of course this hides the debugger. The work around that will probably solve this is to start the help function in a separate main window, and learn how to manipulate main windows using the matchbox window manager.
  • The project page needs to create or update the activity.info file whenever the project is saved.

Whether to put it up in its current incomplete state

The time has run out. I'm leaving for almost a month in Bangladesh, where I probably won't have much chance to finish PyDebug. I'd hate to think of such things, but computers do get lost, stolen, broken, etc. I want to stick the work I've done, now more than 2 months of it, some place where I and others can get at it if need be.

March 1 update

Overcame the Browser incompatibility with sugar 0.82 this morning. I'm deciding to put the git/journal inetgration into the second release. Seems like I should focus on mainline functionality and get this project out the door. I'm going to try to get PyDebug onto sugarlabs git by the end of this week.