Graphical User Interface for Click
Project description
guick : a Graphical User Interface for CLI using click
Introduction
guick (Graphical User Interface Creation Kit) can transform your command line interface (CLI) into a graphical user interface (GUI) with just a few lines of code.
guick is built on top of click and wxPython.
Please note that for the moment the package can only handle click command (and not group).
Installation
pip install guick
How does it work
Just add cls=CommandGui to your click.command, and guick will transform your Command Line Interface into a Graphical User Interface:
@click.command(cls=CommandGui)
@click.option("--arg_text", help="arg_text", type=click.STRING, required=True)
@click.option("--arg_int", help="arg_int", type=click.INT, required=True)
@click.option("--arg_float", help="arg float", type=click.FLOAT, required=True)
@click.option("--arg_bool", type=click.BOOL, required=True)
@click.option("--arg_uuid", type=click.UUID, required=True)
@click.option("--arg_filepath", type=click.Path(file_okay=True, exists=True), required=True)
@click.option("--arg_dir", type=click.Path(dir_okay=True, exists=True), required=True)
@click.option("--arg_choice", type=click.Choice(["choice1", "choice2"]), required=True)
@click.option("--arg_int_range", type=click.IntRange(min=1, max=4), required=True)
@click.option("--arg_float_range", type=click.FloatRange(min=1, max=4), required=True)
@click.option("--arg_passwd", type=click.STRING, hide_input=True)
def main(
arg_text,
arg_int,
arg_float,
arg_bool,
arg_uuid,
arg_file,
arg_filepath,
arg_dir,
arg_choice,
arg_int_range,
arg_float_range,
arg_passwd
):
print(arg_text, arg_int, arg_float, arg_bool, arg_uuid, arg_filepath, arg_dir, arg_choice, arg_int_range, arg_float_range, arg_passwd)
if __name__ == "__main__":
main()
Support most of standard click types
- bool options are rendered as CheckBox,
- click.Choice options are rendered as ComboBox,
- click.Path options are rendered as FileDialog (with Drag & Drop support)
- text entries for string options with
hide_input=Trueare hidden (useful for password) - all other option types (including custom types) are rendred as normal text entry
[!NOTE]
- Multi value options (using
nargs) or tuples as option types are not yet supported.- Multiple options (using
multiple=True) are not yet supported.click.Filetype is not yet supportedclick.argumentare not yet supported
Using default values if any
Take into account default values for options if they are defined
History
Keeping track of the last values of options: options fields are prefilled using the option values from the previous run
Separate required / optional options
The required and optional options are seperated in the GUI to clearly see what are the mandatory options
With validtation
Taking advantage of click validation rules, if an option doesn't pass the
validation, a red text will be shown, explaining the error.
Standard output is redirected to the GUI
...with basic support of colorized Terminal log
Automatically creates an Help menu
With hyperlink if URL is detected, enabling to go directly to the html documentation pages
Automatically handles --version option
By adding a About section in the Help menu
Support group options using notebook
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file guick-0.3.tar.gz.
File metadata
- Download URL: guick-0.3.tar.gz
- Upload date:
- Size: 21.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
11e403822bab867772821158a34b88fcc4427e7f57e0ad9e59f1a07fdbd09006
|
|
| MD5 |
86878c962854383f4e1a523fadc31a59
|
|
| BLAKE2b-256 |
799852f38b51c1e98a84fa39959760677fc06e0db0e4ec3055d5e00571f168c2
|
File details
Details for the file guick-0.3-py3-none-any.whl.
File metadata
- Download URL: guick-0.3-py3-none-any.whl
- Upload date:
- Size: 11.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.6.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
07983ac7c6b60c4a23a9f4dd489ed3b5a58bb24b651149ca063946353816ff99
|
|
| MD5 |
9ad1047f751fdfa9fc9ad33583c9f481
|
|
| BLAKE2b-256 |
1d82e4f5bc79ee20f646f80762ffe77dd46fed7b7a0f634e58deae5d8351a91f
|