For those looking to build a simple GUI, another option is Gooey [0]. It takes your arparse declarations and builds a simple GUI based on that.<p>Gooey is probably easier to set up, but PySimpleGUI looks like it's more flexible and powerful. Look at your own battle and choose your weapons accordingly :-)<p>[0] <a href="https://github.com/chriskiehl/Gooey" rel="nofollow">https://github.com/chriskiehl/Gooey</a>
Kudos to the writer! I used this framework for an small robotics project and, as others pointed out, I was up and running in less than an hour.
However, as the project grew more complex, I reached a point where I felt the framework was in the way: I wanted complex things, and lacked the means to configure the framework that precisely.
I would recommend others to keep the framework for what it does so incredibly well : small / prototypes projects ; but do not hesitate to switch to a more powerful backend once you feel your needs are complexifying.
This is an incredible project I had never even heard of before. This is what github/lab projects should be in my opinion. An incredible solution, well documented, with exceptional examples. I got the intent and was up and running in less than an hour. Great functionality as well in terms of simplifying layout and portability.
Very very neat.<p>I might use this the next time I need to build out a small personal project. I've taken a rather strong liking to Python recently. So much is built into the standard library compared to NodeJS. Very useful for quick projects/ AWS lambdas where installing dependencies is a pain.<p>Do you have a good guide on wrapping this in a binary ?<p>Wouldn't be able to use it in a corporate environment though, the licensing isn't great for that.
I like the concept a lot, having written my own "wrapper" for Tkinter and wishing I could adapt it to Remi. My only thought is that defining the contents of a layout as a dict instead of a list, would allow the elements to be referenced by a name rather than number. That would make it easier to read and modify one's own code.
Does this kind of app distribute easily? As in, can I package up the runtime and the app into a single exe? I see this, but does someone have experience to share?<p>Edit: Found it!<p><a href="https://github.com/PySimpleGUI/PySimpleGUI/blob/master/docs/cookbook.md#creating-a-windows-exe-file" rel="nofollow">https://github.com/PySimpleGUI/PySimpleGUI/blob/master/docs/...</a>
I used PySimpleGUI in a devops app that used the new tables widget (only on tkinter) to track/resolve/debug issues (i.e. domain specific sentry). It worked really well! The whole codebase was 300 loc: pull issues from api, put them into table rows, filter rows by combobox filters and handle button presses.<p>Unfortunately as the app grew the main loop became really hard to follow and I've started to miss callbacks or some sort of oop wrapper around the whole thing. I also noticed that any other backend than TKinter was more like a 3rd class citizen rather than an alternative. Other than that it's probably the best GUI programming entrypoint in Python!
Does anyone know how this compares to guietta? [1] Both look quite similar, and I have already successfully used the latter in two small projects. It was so easy to set up, I had not even have to read much of the documentation at all.<p>Edit: I have found the answer in the docs [2]<p>[1] <a href="https://github.com/alfiopuglisi/guietta/" rel="nofollow">https://github.com/alfiopuglisi/guietta/</a>
[2] <a href="https://guietta.readthedocs.io/en/latest/intro.html#aren-t-you-just-copying-from-pysimplegui" rel="nofollow">https://guietta.readthedocs.io/en/latest/intro.html#aren-t-y...</a>
I can't help but love projects like this. I used to write simple apps that took a simple input and did a thing... and it seems so unintuitive compared to VisualBasic, for instance, even allowing for defining windows programmatically.
Just finished up a Python class as part of my EE this summer. I had no idea this wasn't the default way everyone did Python GUIs. This was the main library we used throughout - it was very approachable and easy to configure.
I've also found this project to be very good. I used it for a personal project to help me manually tag images and prepare a payload to upload to a remote server's database.<p>Some of their naming conventions though are odd IMO but otherwise I thought it was an easier way to process images than a webapp which is my usual working area. Now that I think of it though, a juniper notebook may have also been a solution but I wanted to dabble with writing a GUI.
I wrote a pretty fancy GUI for a real-time system (was handled by MPUs externally, so no real-time in GUI). I found it to be fairly easy to use; there are plenty of examples, and often you can mix-and-match from the examples to get what you want.<p>It's also true that as you want fancier interactions, you have to be clever to get the framework to do what you want. It's very good --- best easy-to-use Python GUI I'd say --- but it won't handle every fancy GUI requirement. (That's why you have PyQt etc)
One question. Which is the best python library for TUI?<p>I used to use <a href="http://urwid.org/" rel="nofollow">http://urwid.org/</a> but It needs a lot of code to do the stuffs.<p>I look for a library that is packaged in Debian (if something is in Debian, it is standard and has long life).
I've used pysimplegui at work it is a great framework to get up and working for a simple gui. It took me 30 minutes to code the gui and I sent it to our underwriting department to help them deal with a bug we were having with our system.