Browser as Desktop UI with CherryPy

I recently had the idea of using a browser as desktop UI (user interface). I have used wxpython for most desktop UI in the past, but I was working on an application that was very closely related to the internet. I had to do a lot of searching and testing until I found a solution that was well documented and actually worked. Let me introduce my working solution:

CherryPy, Mako, py2exe and GccWinBinaries

CherryPy is a minimalistic python web framework that allows for a very simple server implementation on your clients system. Make sure you check out the cherryPy tutorials. You can find them at: python_path\Lib\site-packages\CherryPy-version.egg\cherrypy\tutorial.

I suggest Mako as your template library. You can find a presentation on how to use CherryPy in combination with Mako.

py2exe is than used to turn your browser desktop UI into a stand alone Windows application. I did not succeed converting my CherryPy apps using PyInstaller.

GccWinBinaries was necessary for me because I was getting an error message “error: MSVCP90.dll: No such file or directory“.

You can find a simple application of a browser as desktop UI in the cherrypy wiki. The example is including the file for the py2exe compilation.

I hope this article was able to get you started to use your browser as desktop UI! Happy coding.