Skip to main content

Write desktop and web apps in pure Python.

Project description

Flexx
=====


.. image:: https://badges.gitter.im/flexxui/flexx.svg
:target: https://gitter.im/flexxui/flexx?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge


.. image:: https://travis-ci.org/flexxui/flexx.svg
:target: https://travis-ci.org/flexxui/flexx


.. image:: https://readthedocs.org/projects/flexx/badge/?version=latest
:target: https://flexx.readthedocs.org


Want to stay up-to-date about (changes to) Flexx? Subscribe to the `NEWS issue <https://github.com/flexxui/flexx/issues/477>`_.


Introduction
------------

`Flexx <https://flexx.readthedocs.io>`_ 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 <https://pscript.readthedocs.io>`_ 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 <http://flexx.readthedocs.io>`_.
the code is on `Github <http://github.com/flexxui/flexx>`_.


Example
-------

Click the image below for an interactive example:


.. image:: https://dl.dropboxusercontent.com/s/x4s7wgv6tpyqsqo/flexx_demo_300.png
:target: http://flexx.readthedocs.io/en/latest/examples/demo_src.html


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 <http://www.tornadoweb.org>`_ library (pure Python).
* the `PScript <http://github.com/flexxui/pscript>`_ library (a pure Python flexxui project).
* the `Webruntime <http://github.com/flexxui/webruntime>`_ library (a pure Python flexxui project).
* the `Dialite <http://github.com/flexxui/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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

flexx-0.8.0.tar.gz (363.8 kB view details)

Uploaded Source

Built Distribution

flexx-0.8.0-py2.py3-none-any.whl (332.6 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file flexx-0.8.0.tar.gz.

File metadata

  • Download URL: flexx-0.8.0.tar.gz
  • Upload date:
  • Size: 363.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Python-urllib/3.7

File hashes

Hashes for flexx-0.8.0.tar.gz
Algorithm Hash digest
SHA256 ee7de225aac13ea1a03c4bc7460dde89b39b8c3ca71d1e024926ef9f02b872dd
MD5 9e511f81df67f9ee879dde7c4650dddf
BLAKE2b-256 4916d018e7a6f52b04b68542eae5670fe3bcfde4ae22c7d46380cee0d3f58126

See more details on using hashes here.

File details

Details for the file flexx-0.8.0-py2.py3-none-any.whl.

File metadata

  • Download URL: flexx-0.8.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 332.6 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: Python-urllib/3.7

File hashes

Hashes for flexx-0.8.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 9a2a68560db47ee1982fe8d90446d23756bdcb5c6f05370e07d92cd40168a18d
MD5 653610f44863f2529deb7d7335179659
BLAKE2b-256 b18d7c006a7f723f2392a6e8e4c717fdeda843656389c0b87cb88e4de1b35b2d

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page