Skip to main content

Guichet

Quickly create simple GUIs in Python.

def happy_text(text: str, feeling_happy: bool):
    if feeling_happy:
        return text + "!!!"
    else:
        return text

gui = Guichet(happy_text)
gui.render()

The code above renders the following GUI:

An example of a GUI generated by Guichet

You can also customize the layout by accessing the layout attribute of the Guichet object.

GUI controls are rendered according to type hints. Supported types include vanilla Python types (such as str, int and float), types from typing (such as Literal) and Pydantic types (such as SecretStr).

The full conversion table is as follows:

Type hint GUI control Rendered as
str Text input Text input
int Text input Text input
float Text input Text input
bool Checkbox Checkbox
pydantic.SecretStr Password input Password input
typing.Literal with args (for example Literal["Option 1", "Option 2"]) Dropdown Dropdown

Guichet is based on the awesome PySimpleGUI library.

Installation

pip install guichet

Main API

Guichet(
    main_function: Callable,
    title: str = None,
    output_size: tuple = (80, 20),
    button_label: str = "Run",
    theme: str = "Dark Blue 3",
    show_default: bool = True,
    ignore_params: list = None,
    redirect_stdout: bool = True,
    run_in_new_thread: bool = False,
    wait_message: str = "Please wait...",
    refresh_time: int = 1000,
    window_param: str = None,
)
  • main_function (Callable): The function in which the GUI is based on.
  • title (str, optional): The window title. Defaults to None, which means the name of the main_function will be used.
  • output_size (tuple, optional): The size of the output field, which indirectly sets the size of the window. Defaults to (80, 20).
  • button_label (str, optional): The label of the button that calls main_function. Defaults to "Run".
  • theme (str, optional): The window theme. You can explore the list of available themes following these instructions. Defaults to "Dark Blue 3".
  • show_default (bool, optional): Whether to show the default values of the parameters in the GUI. Defaults to True.
  • ignore_params (list, optional): Parameters to be ignored and not shown in the GUI. Defaults to None.
  • redirect_stdout (bool, optional): Whether to redirect the standard output to the GUI's output field. If True, regular print calls in main_function will write to the output field. Defaults to True.
  • run_in_new_thread (bool, optional): Whether to run the main_function in a new thread. This should only be True if the main_function is slow and you want to avoid blocking the GUI. Read the docs as some caveats apply when running a function in a separate thread. Defaults to False.
  • wait_message (str, optional): The message to be shown in the output field. when a users presses the running button and the function has not yet finished. Applicable only if run_in_new_thread is True. Defaults to "Please wait...".
  • refresh_time (int, optional): Time (in milliseconds) for the window to check again for new events. Useful only in advanced scenarios where run_in_new_thread is True. Use the highest value you can afford. Defaults to 1000.
  • window_param (str, optional): The parameter of the main_function to where the GUI's main window object will be passed. Needed only in advanced scenarios where the main_function needs to communicate with the GUI. The parameter passed to window will not be shown in the GUI. Defaults to None.

Release files for guichet 0.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for guichet 0.0.2
File Size Uploaded
guichet-0.0.2.tar.gz 29.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for guichet 0.0.2
File Interpreter ABI Platform
guichet-0.0.2-py2.py3-none-any.whl Python 2, Python 3 none any Details

Total release size: 36.2 kB

Release files / guichet-0.0.2.tar.gz

Download URL guichet-0.0.2.tar.gz
Size 29.7 kB
Tags Source
SHA-256 checksum
How to use checksums
a15133b4bfd3b91deb4b1198f2c234809b6138b9ce23d30becce6bd6a69ded1e
BLAKE2b-256 checksum
How to use checksums
aee59d5c03cbb0e8a7c5deddf596b5f427ef8f153f78dfb7580a80316d119979
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.4

Release files / guichet-0.0.2-py2.py3-none-any.whl

Download URL guichet-0.0.2-py2.py3-none-any.whl
Size 6.5 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
18aca440842218e68fd444c42629077668c83b059fe26f135de6794387cc1efc
BLAKE2b-256 checksum
How to use checksums
478872bb2e24bde1c16341f295377a6b98e054783ada9be17f524cf46b10a734
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.4

Release history Release notifications | RSS feed

This release

0.0.2 This release

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page