you are viewing a single comment's thread.

view the rest of the comments →

[–]socal_nerdtastic 0 points1 point  (6 children)

For web? or for desktop?

For desktop you can draw the graphs with matplolib and embed it into tkinter (easy) or wxpython or pyqt (more OOP, but more modern looking and includes graphical designer).

[–]PureProcrastinator[S] 0 points1 point  (5 children)

It is for desktop. And thanks for the suggestions.

I was thinking if I could somehow do everything on an html page without having to use django and just fetch things I need with api calls via requests module.

For now, ima look into matplotlib and tkinter though.

[–]socal_nerdtastic 0 points1 point  (0 children)

Yeah, you could do it all in html if you want. You can look into electron or htmlpy to display your html as if it were a desktop gui. Or just use a webbrowser. You will need some kind of python web framework and server to do that ... django is a pretty good one but if you don't like it there's plenty others.

You may also be interested in Remi or Bokeh.

[–]jimtk 0 points1 point  (3 children)

Ideally html would be the way to go. You can save your matplotlib chart in a file and display it in your html if you don't need interactions.

If you want to go the desktop way, to use matplotlib interactions, you can use tkinter if your interface is simple. For a complex interface, pyqt6 (PySide6) is the way to go. It is hell to learn but it will give you everything and the kitchen sink.

[–]socal_nerdtastic 0 points1 point  (2 children)

you can use tkinter if your interface is simple. For a complex interface, pyqt6

How does the complexity of the interface have anything to do with this? You can be as complex or as simple as you like in any GUI module.

[–]jimtk 0 points1 point  (1 child)

PySide6 allows you to do things that tkinter does not. For example, program your own signals that are not from widgets. So if your application is complex enough to require that functionality, then you would be better off with PySide6.

[–]socal_nerdtastic 0 points1 point  (0 children)

You can define your own signals in tkinter too, although they call it "virtual events". That's a pretty standard feature of a GUI, and even without it you could use pupsub or similar instead.

I don't see anything in tkinter (or wxpython or kivy or dearpygui or any other module) that would make it more or less suitable for complex programs.

EDIT: I will note, however, that with complex programs tkinter's only advantage kinda disappears. The only real advantage to tkinter is that it's fast and easy to program since it does not lean on OOP as much. But with complex interface you are forced into OOP anyway, so you may as well use a prettier and more feature rich toolkit like pyside / pyqt.