This talk describes a cross-platform, pure Python toolkit for creating graphical user interfaces (GUI's), that uses web technology for its rendering. You can use it to create desktop applications, web apps, and add widgets to the IPython/Jupyter notebook.
To create user interfaces in Python, there are multiple GUI toolkits available. While some (most notably Qt) are very powerful, they are all focussed on desktop applications. It cannot be denied that the web (i.e. browser technology) has become an increasingly popular method for delivering applications to users, also for (interactive) scientific content.
With Flexx (https://github.com/zoofIO/flexx) we're building a Python library for creating graphical user interfaces (GUI's) that use web technology. The library is cross-platform and written in pure Python. Its only dependencies are Tornado (also pure Python) and a web browser. It allows creating desktop applications, web apps, and can be used inside the IPython/Jupyter notebook.
This project is currently a work in progress, and much work needs to be done to bring it anywhere near the usability of e.g. Qt. However, it provides a way to write user-interfaces that can be deployed either as desktop applications or web apps, which can be a powerful means to publish scientific results in an interactive manner. A nice side-effect is that the library is pure Python, allowing it to work on less mainstream Python implementations such as Pypy, and avoiding the often complex build process necessary by most desktop GUI toolkits.