Skip to main content

flaskwebgui Downloads

Create desktop applications with Flask (or Django)!

Install

pip install flaskwebgui

Or download source file flaskwebgui.py and place it where you need.

Usage with Flask

Check this video!

from flask import Flask
from flaskwebgui import FlaskUI #get the FlaskUI class

app = Flask(__name__)

# Feed it the flask app instance 
ui = FlaskUI(app)

# do your logic as usual in Flask
@app.route("/")
def index():
return "It works!"

# call the 'run' method
ui.run()

Usage with Django

Make a file 'gui.py'(file name not important) next to 'manage.py' file in the django project folder.

Inside 'gui.py' file add these 2 lines of code:


from flaskwebgui import FlaskUI #import FlaskUI class

#You can also call the run function on FlaskUI class instantiation

FlaskUI(server='django').run()

Next run from your terminal the bellow command:

python gui.py

Configurations

Default FlaskUI class parameters:

  • app, ==> flask class instance

  • width=800 ==> default width 800

  • height=600 ==> default height 600

  • fullscreen=False ==> start app in fullscreen

  • app_mode=True ==> by default it will start chrome in app(desktop) mode without address bar

  • browser_path="", ==> full path to browser.exe ("C:/browser_folder/chrome.exe" -needed if you want to start a specific browser)

  • server="flask" ==> the default backend framework is flask (django is suported also), but you can add a function which starts the desired server for your choosed framework (bottle, web2py pyramid etc)

  • host="127.0.0.1" ==> specify other if needed

  • port=5000 ==> specify other if needed

Should work on windows/linux/mac with no isssues.

If browser is not found, this would be quick fix: FlaskUI (app, browser_path=r"path/to/chrome.exe")

The recommended way of using flaskwebgui

  • Download portable Chromium for the your targeted os
  • place the extracted portable app next to "main.py" file,
  • flaskwebgui will look for chrome.exe/.app/.sh In this way when you distribute it, you don't need users to have chrome installed, it will work like a portable app.

Also, during development of your app do that in the normal way you do a Flask app without flaskwebgui. Use flaskwebgui only when you are finished the app(test the app) and ready to deploy.

flaskwebgui doesn't interfere with your way of doing a flask application it just helps converting it into a desktop app more easily with pyinstaller or pyvan

Distribution

You can distribute it as a standalone desktop app with pyinstaller or pyvan.

Credits

It's a combination of https://github.com/Widdershin/flask-desktop and https://github.com/ChrisKnott/Eel

flaskwebgui just uses threading to start a flask server and the browser in app mode (for chrome). It has some advantages over flask-desktop because it doesn't use PyQt5, so you won't have any issues regarding licensing and over Eel because you don't need to learn any logic other than Flask. Submit any questions issues you have! Fell free to fork it and improve it if you want!

Release files for flaskwebgui 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for flaskwebgui 0.1.2
File Size Uploaded
flaskwebgui-0.1.2.tar.gz 5.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for flaskwebgui 0.1.2
File Interpreter ABI Platform
flaskwebgui-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 11.9 kB

Release files / flaskwebgui-0.1.2.tar.gz

Download URL flaskwebgui-0.1.2.tar.gz
Size 5.5 kB
Tags Source
SHA-256 checksum
How to use checksums
bf0307a9af63150c97feffd7c47b433390c0009ac03939565748ed7778707579
BLAKE2b-256 checksum
How to use checksums
5094d3f1127b4ccab2ce2b4e5e0655da5df2db89b4f5a5dd2167aa6471397f9f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.6.8

Release files / flaskwebgui-0.1.2-py3-none-any.whl

Download URL flaskwebgui-0.1.2-py3-none-any.whl
Size 6.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
14cf04749799b6e98be43d07ce2b124754d85b56a76ffa3de9d522be98b7a7b5
BLAKE2b-256 checksum
How to use checksums
3962d079f1ab04276d78526cc6cd1902792a6baade9f68cd647a5d68bc8b5f0f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.6.8

Release history Release notifications | RSS feed

1.1.9

2 release files

1.1.8

2 release files

1.1.7

2 release files

1.1.6

2 release files

1.1.5

2 release files

1.1.4

2 release files

1.1.3

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.9

2 release files

1.0.8

2 release files

1.0.7

2 release files

1.0.6

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

0.3.7

2 release files

0.3.6

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.15

2 release files

0.1.14

2 release files

0.1.13

2 release files

0.1.12

2 release files

0.1.11

2 release files

0.1.10

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.6

2 release files

This release

0.1.2 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page