ToUI#

Version: v1.1.0-beta

ToUI Image

Overview#

ToUI is a Python package for creating user interfaces (websites and desktop apps) from HTML easily. No JavaScript knowledge is required, but some knowledge of HTML is usually required.

Why ToUI#

  • Converts HTML files into a responsive app.

  • Simple to understand for programmers who only know Python and HTML.

  • The method of creating websites and the method of creating desktop apps are similar, which makes it easy to convert a website to a desktop app and vice versa.

How to install#

Run this command:

pip install toui

How to create a basic website#

Import the required classes:

from toui import Website, Page

Create a Website object:

app = Website(name=__name__, assets_folder="path/to/assets_folder",  secret_key="some secret key")

Create a Page and add it to the website:

main_page = Page(html_file="path/to/html", url="/")
app.add_pages(main_page)

Run the app:

if __name__ == "__main__":
    app.run()

The complete code:

from toui import Website, Page

app = Website(name=__name__, assets_folder="path/to/assets_folder",
              secret_key="some secret key")

main_page = Page(html_file="path/to/html", url="/")
app.add_pages(main_page)

if __name__ == "__main__":
    app.run()

How to create a desktop app#

Creating a desktop app is similar to creating a website. Only replace Website class with DesktopApp:

from toui import DesktopApp, Page

app = DesktopApp(name="MyApp", assets_folder="path/to/assets_folder")

main_page = Page(html_file="path/to/html", url="/")
app.add_pages(main_page)

if __name__ == "__main__":
    app.run()

Make the app responsive#

Check this example and other examples to learn how to make the website / desktop app responsive.

Deploy the app#

You can deploy the web app the same way you deploy a Flask app (How to deploy Flask app). The only difference is that you need to access the Flask object first:

app = Website(__name__)
flask_app = app.flask_app

Then you need to deploy the flask_app and not the app.

License and Copyrights#

Copyrights (c) 2023 Mubarak Almehairbi. This package is licensed under the MIT license.

Table of contents#