Popularity
7.0
Growing
Activity
5.9
Declining
2,164
141
200

Description

Being pure Python and cross platform, it should work anywhere where there's Python and a browser. To run apps in desktop-mode, we recommend having Firefox installed.

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

Code Quality Rank: L3
Programming language: Python
License: BSD 3-clause "New" or "Revised" License
Tags: HTTP     GUI     Internet     WWW     User Interfaces    
Latest version: v0.8.0

Flexx alternatives and similar packages

Based on the "GUI" category

Do you think we are missing an alternative of Flexx or a related project?

Add another 'GUI' Package

README

Flexx

Join the chat at https://gitter.im/flexxui/flexx Build Status Documentation Status

Want to stay up-to-date about (changes to) Flexx? Subscribe to the NEWS issue.

Introduction

Flexx is a pure Python toolkit for creating graphical user interfaces (GUI's), that uses web technology for its rendering. Apps are written purely in Python; The PScript transpiler generates the necessary JavaScript on the fly.

You can use Flexx to create (cross platform) desktop applications, web applications, and export an app to a standalone HTML document. It also works in the Jupyter notebook.

The docs are on Readthedocs. the code is on Github.

Example

Click the image below for an interactive example:

demo

There is a demo server at http://demo.flexx.app .

Motivation

The primary motivation for Flexx is the undeniable fact that the web (i.e. browser technology) has become an increasingly popular method for delivering applications to users, also for (interactive) scientific content.

The purpose of Flexx is to provide a single application framework to create desktop applications, web apps, and (hopefully soon) mobile apps. By making use of browser technology, the library itself can be relatively small and pure Python, making it widely available and easy to use.

Installation

Flexx requires Python 3.5+ and also works on pypy. Further, it depends on:

  • the Tornado library (pure Python).
  • the PScript library (a pure Python flexxui project).
  • the Webruntime library (a pure Python flexxui project).
  • the Dialite library (a pure Python flexxui project).

To install the latest release (and dependencies), use either of these commands:

  • pip install flexx
  • conda install flexx -c conda-forge

Or get the bleeding edge with:

  • pip install https://github.com/flexxui/flexx/archive/master.zip

Supported browsers

Flexx aims to support all modern browsers, including Firefox, Chrome and Edge. Internet Explorer version 10 and up should work, but some things may be flaky.

For running desktop apps, it is needed to have Firefox or NW.js installed.

License

Flexx makes use of the liberal 2-clause BSD license. See LICENSE for details.


*Note that all licence references and agreements mentioned in the Flexx README section above are relevant to that project's source code only.