Write desktop and web apps in pure Python.
Project description
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; Flexx’ transpiler generates the necessary JavaScript on the fly.
You can use Flexx to create (cross platform) desktop applications, web applications, and (if designed well) 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. Flexx is currently in alpha status; any part of the public API may change without notice. Feedback is welcome.
Flexx has a modular design, consisting of a few subpackages, which can also be used by themselves:
flexx.ui - the widgets
flexx.app - the event loop and server
flexx.event - properties and events
flexx.pyscript - Python to JavaScript transpiler
flexx.webruntime - to launch a runtime
flexx.util - utilities
Example
Click the image below for an interactive example:
There is a demo server at http://flexx1.zoof.io (it might not always be on).
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 2.7 or Python 3.2+ and also works on pypy. Further, it needs the tornado library (pure Python). For running desktop apps, it is recommended to have Firefox installed.
To install use any of:
conda install flexx -c conda-forge
pip install flexx
Clone the repo and add it to your PYTHONPATH, or python setup.py install.
License
Flexx makes use of the liberal 2-clause BSD license. See LICENSE for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file flexx-0.4.1.zip
.
File metadata
- Download URL: flexx-0.4.1.zip
- Upload date:
- Size: 510.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 54be868f01d943018d0907821f2562f6eb31c568b3932abfd8518f75c29b8be1 |
|
MD5 | 7138a378aa68d781212c4b2cfb6ddfcb |
|
BLAKE2b-256 | 0d8211900c3972ca2871772ca5d16d9f631a1c2dac53bd75e38bd8253f8fcd2b |
File details
Details for the file flexx-0.4.1-py2.py3-none-any.whl
.
File metadata
- Download URL: flexx-0.4.1-py2.py3-none-any.whl
- Upload date:
- Size: 510.8 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f1ba68eb7de19bf1d270ba77232a24cf60d297d93b1ac9be6f47367a41b42b7d |
|
MD5 | 0e37c05cf2cd97d494303b4df402f17a |
|
BLAKE2b-256 | c3f1aff03c8b804e2c79a5a15c67c3eef7ff0f16a0ef9d06b0ec197421ced8bc |