Orun ==== Orun (Object RUNtime) is a small/lightweight library that provides a fast to build Python RIA, the client communicates with the server through ajax. Typical usage often looks like this:: #!/usr/bin/env python # Cherrypy + ExtJS example from orun.extjs import js, Ext, cp def ok_click(id_, *args, **kwargs): js.cli << Ext.getCmp(id_).setText('Clicked') js.cli << js.client.alert('Server side message') def button_click(id_, *args, **kwargs): js.write(""" Ext.getCmp("%s").setText('Clicked'); alert('Server side callback message'); """ % id_) class MyApplication(cp.ExtApplication): def main(self, *args, **kwargs): wnd = Ext.create('widget.window', {'title': 'My Window', 'width': 300, 'height': 250, 'items': [{'xtype': 'button', 'text': 'Click Here', 'handler': button_click}], 'buttons': [ {'text': 'OK', 'handler': js.FuncWithParams(ok_click, {'arg1': 1, 'arg2': 'val2', 'arg3': js.cli.this.id})}, {'text': 'Close', 'handler': js.function('this.up(\'window\').close()')}]}) wnd.show() wnd.setHeight(200) cp.THEME = 'classic' app = MyApplication('Orun (ExtJS Application)') app.run() The example above, runs cherrypy application on 8080 http port, and exposes extjs method.