PySimpleGUI 6 is LGPL again
Posted by masher_oz@reddit | Python | View on Reddit | 24 comments
Looks like the commercialisation of PySimpleGUI has come to an end.
PySimpleGUI 6 - Back to LGPL3 https://github.com/PySimpleGUI/PySimpleGUI
HommeMusical@reddit
Licensing aside, PySimpleGUI is a fairly horrible program.
It is packaged as one single file of 26k lines with a massive amount of cut and paste.
This file has clearly never seen a linter or a reformatter.
It's full of imports that are never used, code that has been commented out, classes with massive constructors that should have been a dataclass, image assets stored in code, and lots of global variables (the global keyword appears 199 times).
It's designed to be backward compatible with Python 2.7 and this is never going away, so there's no typing.
And the worst - it doesn't actually do any GUI stuff itself! - it's a wrapper around
tkinter.Bad code, long on PR, doesn't really produce good results.
What's to like?
wRAR_@reddit
Aaaaaaaaaa
mangecoeur@reddit
I respect both the authors’ desire to make a living from their idea and their good grace to make it open source again when it didn’t pan out
Pluckerpluck@reddit
Eh. I don't mind much about trying to make a living, but they went pretty nuclear when they shifted to PySimpleGUI 5. They tore down the git repo and removed all of the old versions on PyPI.
Going scorched-earth is just bad for open source in general. How do you convince companies to contribute to any projects when their code may just be "stolen" at any point
marr75@reddit
Yep, commercial relationships shouldn't start with a hostage scenario.
Gugalcrom123@reddit
PySimpleGUI's entire role was learning, though I am not sure that it is a good way to learn GUIs.
JamzTyson@reddit
Restoring trust is much harder than breaking it.
marr75@reddit
The author went through quite a bit of work to pull the commercially tied elements out of the project and restore it to LGPL. That's admirable, and - because of exactly what you state - odd. They basically killed the open source project, failed at the commercial project, and then put effort into resuscitating. Could have saved a lot of time not trying to extract commercial value in the first place. I would have happily given them a realistic market analysis for free.
CrimeBurrito@reddit
No way I’m jumping back on that boat. Took the time to learn what I need in pyside6/pyqt6 instead.
can_dry@reddit
Ditto. Except I just had claude refactor my old pysimplegui app (that I coded myself) to pyside6... it did a fantastic job and works great!
In hindsight I'm not sure what was the right approach to trying to monetize his hard work, but he's burned his base and we've moved on.
Gugalcrom123@reddit
Which is a much better framework anyways.
AlSweigart@reddit
I looked at PySimpleGUI and I'm not sure how it's all that much simpler than the other GUI toolkits. Can anyone with experience explain? Or was PySimpleGUI just "yet another GUI toolkit"?
Gugalcrom123@reddit
It is not simpler, but it is intended for those Python beginners who would prefer to live in pain just so they can skip learning classes.
notParticularlyAnony@reddit
Wow that was a thing? Yikes.
Individual-Flow9158@reddit
On behalf of the remaining user base, has anyone checked that large byte string in v5, that was decoded into obfuscated Python code, and then run with exec has gone?
This is good news, and most welcome. But unfortunately I think the creator has burned his bridges, for both open source users and paying customers alike. Fortunately we have multiple excellent alternatives, not least of which the legendary Al Sweigart's https://github.com/asweigart/buttonpad.
ProsodySpeaks@reddit
Good luck with that.
Have you tried nicegui?
Cynyr36@reddit
Yes, but i don't want to learn javascript and 2 JavaScript frameworks.
ProsodySpeaks@reddit
It's not a js framework per-se although I suppose it has some of that embedded under the hood.
It's all declarative python code.
It's like psg but modern, or kinda like fastui
Cynyr36@reddit
If you want to do styling, or more than a button, you end up learning tailwind cas and quasar.
ProsodySpeaks@reddit
Sure.
And we're discussing this under psg?
Cynyr36@reddit
You asked about niceGUI, and my comment was I don't want to learn tailwind css, quasar, and JavaScript to make a gui for a python program. I'd like all of that to look and feel like python.
For example highlighting a row of a table based on the value in a number box basically requires destroying and remaking the table with embeded JavaScript & css everytime the number box changes. You can't just do
[row.bg("green") for row in table if row[0] == numberselect.value()]and bind it to the change event for the number select. (I'd probably not actually use a list comprehension, but it's easier to type on mobile).I'm a Mechanical Engineer, that sometimes uses python instead of excel, and was looking for a gui for my python scripts. Nicegui isn't it for me. I don't know JavaScript or css already.
I'll give pysimplegui a shot now that i can use it at work. Earlier the license was maybe an issue.
HugeCannoli@reddit
Is that thing that teaches you awful MVC practices still around?
codes_me@reddit
Did you try guys ?
aloobhujiyaay@reddit
PySimpleGUI was always great for quick prototypes