Welcome to Flexx’s documentation!

Flexx is a pure Python toolkit for creating graphical user interfaces (GUI’s), that uses web technology for its rendering. You can use Flexx to create desktop applications, web applications, and (if designed well) export an app to a standalone HTML document. It also works in the Jupyter notebook.

Being pure Python and cross platform, it should work anywhere where there’s Python and a browser.

Flexx has a modular design, consisting of a few subpackages, which can also be used by themselves:

  • ui - the widgets
  • app - the event loop and server
  • react - reactive programming (how information flows through your program)
  • pyscript - Python to JavaScript transpiler
  • webruntime - to launch a runtime


  • Alpha status, any part of the public API may change. Looking for feedback though!
  • Currently, only Firefox and Chrome are supported.
  • Flexx is CPython 3.x only for now. Support for Pypy very likely. Support for 2.x maybe.

Indices and tables