Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Update] Switch to FreeSimpleGUI, update deps #13

Merged
merged 1 commit into from
Jul 10, 2024

Conversation

digitalf0x
Copy link
Contributor

In short

  • Switch from PySimpleGUI to FreeSimpleGUI
    • Avoids phone-home license checking
    • Avoids everyone needing to register a hobbyist license key once a year
    • Places trust in spyoungtech
    • Add a workaround for a normally-helpful exception popup dialog
  • Update dependencies, use "compatible versioning"
    • Switch to allowing compatible version updates automatically
    • Enables CI to test updates in advance of releases or old versions going away
    • Going by PySimpleGUI, it looks like exact versions aren't locked in time anyways

Rationale

PySimpleGUI now costs $99 for a license key which cannot be shared (would require some central secret management), and now includes code to phone home, self-update, etc, which feels concerning.

Considering Haptic Pancake is fairly simple, just switch to FreeSimpleGUI instead. If we want more complex features (e.g. resizable windows with a smoother layout), I'd encourage using a "full" toolkit, such as Qt.

Breaking changes

Py/FreeSimpleGUI now checks for invalid updates to the GUI once a window is closed and pops up a dialog box instead of letting the exception occur as expected. There's a shutting_down check to stop text updates once closing the main window, but that might not be everything.

I would encourage testing this personally before making a release with this change.

See https://docs.pysimplegui.com/en/latest/cookbook/original/exception_handling/

Context

Switch from PySimpleGUI to FreeSimpleGUI, avoiding the phone-home
license checking and hassle of expecting everyone to register a
hobbyist license key once a year.

See https://www.reddit.com/r/Python/comments/1d8d4iv/psa_pysimplegui_has_deleted_almost_all_old_lgpl/
And https://github.com/spyoungtech/FreeSimpleGUI

Updates to Py/FreeSimpleGUI now check for invalid updates to the GUI
once a window is closed and pop up a dialog box instead of letting the
exception occur as expected.  Add a "shutting_down" check to stop
text updates once closing the main window.

See https://docs.pysimplegui.com/en/latest/cookbook/original/exception_handling/

Update other dependencies and switch to "latest compatible"
versioning, allowing CI builds to test updates.
@Z4urce Z4urce merged commit ef529d3 into Z4urce:main Jul 10, 2024
2 checks passed
@digitalf0x digitalf0x deleted the ft-free-the-gees branch July 11, 2024 01:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants