PySimpleGUI is a Python library that simplifies the process of creating graphical user interfaces (GUIs). It abstracts away the complexity of underlying frameworks like Tkinter, Qt, WxPython, and Remi, offering a beginner-friendly, high-level API. With PySimpleGUI, you can build interactive desktop applications, file explorers, progress trackers, and more with minimal code.
- Beginner-Friendly: Intuitive syntax, ideal for developers new to GUIs.
- Rich Component Library: Buttons, text inputs, sliders, progress bars, tables, and more.
- Cross-Platform: Runs seamlessly on Windows, macOS, and Linux.
- Dynamic Updates: Allows real-time updates to GUI elements during execution.
- Integration Ready: Supports Matplotlib, OpenCV, and other libraries for advanced functionality.
PySimpleGUI is widely used in:
- Educational Projects: Helping beginners learn GUI development.
- Data Visualization: Embedding interactive charts and graphs.
- Automation Tools: Creating simple automation utilities with user interfaces.
- Prototyping: Quickly designing and testing application interfaces.
- Lightweight Desktop Apps: Developing small-scale tools with a minimal footprint.
On [specific date of license change], the creator of PySimpleGUI announced a transition to a paid license model. As part of this change:
- A license key is now required to use any version installed via
pip
. - Older, free versions of PySimpleGUI have been removed from the PyPI repository, preventing developers from simply downgrading to a previous version.
- Developers who rely on PySimpleGUI for personal projects, open-source software, or educational purposes are now locked out unless they pay for a license.
This repository offers a solution by providing a backup of the last free and functional version of PySimpleGUI.
Normally, developers can install a specific version of a library using pip install PySimpleGUI==<version>
. However, with the recent changes:
- The author has removed older versions from the PyPI repository, making downgrading impossible.
- This forces developers to use the latest version, which now requires a paid license.
As a result, the only way to access a fully functional version is through a saved copy, such as the one provided in this repository.
- Download the
PySimpleGUI.7z
file from the Releases section.
- Extract the
PySimpleGUI.7z
archive using any file extraction tool that supports the.7z
format.
- Windows Example:
C:\Users\Administrator\AppData\Local\Programs\Python\Python310\Lib\site-packages
- macOS/Linux Example:
(The exact path may vary depending on your Python installation.)
/usr/local/lib/python3.10/site-packages
Before installing the legacy version, you need to remove any existing PySimpleGUI installations to prevent conflicts.
-
Navigate to your
site-packages
directory. -
Delete the following folders if they exist:
PySimpleGUI
PySimpleGUI-<version>.dist-info
Example on Windows:
C:\Users\Administrator\AppData\Local\Programs\Python\Python310\Lib\site-packages\PySimpleGUI C:\Users\Administrator\AppData\Local\Programs\Python\Python310\Lib\site-packages\PySimpleGUI-4.60.1.dist-info
-
Copy the extracted
PySimpleGUI
folder andPySimpleGUI-<version>.dist-info
folder from the.7z
archive. -
Paste these folders into your Python
site-packages
directory.Example on Windows:
C:\Users\Administrator\AppData\Local\Programs\Python\Python310\Lib\site-packages\PySimpleGUI C:\Users\Administrator\AppData\Local\Programs\Python\Python310\Lib\site-packages\PySimpleGUI-4.60.1.dist-info
You can verify that the legacy version is installed correctly by running a simple PySimpleGUI script:
import PySimpleGUI as sg
# Define the layout
layout = [
[sg.Text("Enter your name:")],
[sg.Input(key='-INPUT-')],
[sg.Button("Submit"), sg.Button("Exit")]
]
# Create the window
window = sg.Window("PySimpleGUI Legacy Example", layout)
# Event loop
while True:
event, values = window.read()
if event == sg.WINDOW_CLOSED or event == "Exit":
break
if event == "Submit":
sg.popup(f"Hello, {values['-INPUT-']}!")
# Close the window
window.close()
Run the script to ensure that the GUI appears and functions as expected.