ToUI#
Version: v1.0.2-beta

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 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.