GUY is a py3 module, which let you quickly release a GUI (html/js) for yours python (>=3.5) scripts, targetting any platforms ... and android too.
A simple guy's app code, could be :
from guy import Guy
class Simple(Guy):
"""<button onclick="self.test()">test</button>"""
async def test(self):
print("Your name is", await self.js.prompt("What's your name ?") )
if __name__ == "__main__":
app=Simple()
app.run()
A guy's app can be runned in 3 modes :
- can reuse a chrome browser (in app mode), on the host. To keep the minimal footprint. (app mode)
- can embbed its CEF (like electron) (thanks cefpython3), to provide all, to the users. (cef mode)
- can act as a classical web server. Any browser can be a client (server mode)
A guy's app can be released as :
- a simple py3 file, with only guy dependancy (app mode & server mode)), or with guy+cefpython3 dependancies (cef mode))
- a freezed executable (pyinstaller compliant) (all modes)
- a pip/package app (all modes)
- an apk for android (with buildozer/kivy) (app mode only)
Read the Guy's DOCUMENTATION !
Available on :
Here is a demo (sources), of a simple guy's app (server mode).
Here is a demo (sources), of a guy's app serving a vuejs/sfc UI.
Here is a simple guy's app (app mode):
On Ubuntu |
On Android10 |
If you want to build guy app, without any html/js/css knowlegments, you can try gtag : it's a guy sub module which let you build GUI/GUY app in more classical/python3 way.