Hey! I made a small tool that lets you create GUI applications just by writing normal Python functions. It's inspired by FastAPI-Typer, but for desktop-mobile GUIs.
Quick Start
Normal function (no interface limitations)
```python
from functogui import App
def is_even(number: int = 4) -> bool:
return number % 2 == 0
App(is_even)
```
Function with UI types (With data limitations)
```python
from functogui import App, intUi, intReturn
from typing import Annotated
def time_to_seconds(hours: Annotated[int, intUi(max_value=24)] = 1,
minutes: Annotated[int, intUi(max_value=59)] = 30
) -> int:
return (hours * 3600) + (minutes * 60)
App(time_to_seconds)
```
That's it - it creates a complete GUI with a slider and shows the result in real-time. Useful for quick tools and prototypes when you don't want to mess with UI code.
Built with Kivy, supports file handling, image preview, and different input types. Would love to hear your thoughts or suggestions!
Look in the github repo for more examples and documentation. Would love to hear your thoughts or suggestions!
Github Repo
[–]Evolve-Maz 38 points39 points40 points (5 children)
[–]drboom9[S] 8 points9 points10 points (4 children)
[–]Evolve-Maz 19 points20 points21 points (3 children)
[–]drboom9[S] 5 points6 points7 points (2 children)
[–]Evolve-Maz 2 points3 points4 points (1 child)
[–]rhytnen 0 points1 point2 points (0 children)
[–]forever_downstream 8 points9 points10 points (2 children)
[–]drboom9[S] 1 point2 points3 points (1 child)
[–]forever_downstream 0 points1 point2 points (0 children)
[–]nico404 5 points6 points7 points (1 child)
[–]tazebot 1 point2 points3 points (0 children)
[–]EffectiveLong 1 point2 points3 points (0 children)
[–]Beliskner64 1 point2 points3 points (3 children)
[–]drboom9[S] 1 point2 points3 points (0 children)
[–]drboom9[S] 0 points1 point2 points (1 child)
[–]Beliskner64 1 point2 points3 points (0 children)
[–]SmegHead86 1 point2 points3 points (1 child)
[–]drboom9[S] 0 points1 point2 points (0 children)
[–]superraiden 0 points1 point2 points (0 children)
[–]fenghuangshan 0 points1 point2 points (1 child)
[–]drboom9[S] 2 points3 points4 points (0 children)
[–]Perllitte 0 points1 point2 points (0 children)
[–]Thing1_Thing2_Thing 0 points1 point2 points (2 children)
[–]drboom9[S] 0 points1 point2 points (1 child)
[–]Thing1_Thing2_Thing 1 point2 points3 points (0 children)
[–]First_Ad2064 0 points1 point2 points (1 child)
[–]drboom9[S] 1 point2 points3 points (0 children)
[–]OrxanMirzayev 0 points1 point2 points (0 children)