Skip to main content

GUI Utilities

Personal-use graphical utilities library providing styled PyQt6 interaction, structured menus, robust input validation, formatting helpers, and Spanish-oriented user experience.


Purpose

This library is designed for graphical applications that need:

  • Clean UI
  • Structured Spanish-language user interaction
  • Robust validation
  • Consistent formatting

Requirements

Dependencies

Standard library modules are used where possible; only external dependencies are listed:

  • PyQt6 (6.2.0 or higher)
  • matplotlib (3.5.0 or higher)
  • numpy (1.21.3 or higher)
  • pandas (1.3.4 or higher)
  • requests (2.25.0 or higher)

Python version

Python (3.10 or higher)

Operating System

Any of the following:

  • Windows (10, version 1809 or higher)
  • Linux (any modern distribution with glibc 2.28 or higher)
  • MacOS (10.14 or higher)

Google Colaboratory support

Most of this library is not compatible with Google Colaboratory, since PyQt6 graphical windows cannot run in a headless environment. However, the following modules are fully compatible:

  • Graphs Utilities (graphs): the entire module.
  • Formatting Helpers (format): the entire module.
  • Input Validation (validation): the entire module except "validate_email()".
  • System Utilities (system): the entire module except "get_responsive_width()".

Features

Core Utilities (core)

Foundational functions for window management and instance control:

  • window(): creates a base window already configured with layout and initial styles.
  • switch_instance(): dynamically switches the active window instance with a new one.
  • clear_layout(): recursively clears and deletes all widgets within a layout.
  • switch_content_widget(): dynamically switches the content of the main window's internal widget.

Structure Utilities (structure)

Tools for building UI elements and structures in graphical applications:

  • menu(): creates interactive selection menus with header, scrolling, and custom buttons.
  • header(): creates a styled header layout, consisting of a title and a separator.
  • title(): creates customized titles for windows or menus.
  • label(): creates customized text labels with rich HTML formatting options.
  • button(): creates customized interactive buttons with hover and pressed styles.
  • text_box(): creates customized text inputs with placeholder text and password visibility toggles.
  • combo_box(): creates customized drop-down lists with rich text formatting.
  • check_box(): creates customized checkboxes with styled indicators.
  • table(): creates personalized tables with easy introduction of fully-styled columns and rows (with responsive resizing).

Dialogs Utilities (dialogs)

Pop-up and modal dialog management:

  • information_message_box(): creates customized information dialog boxes.
  • confirmation_message_box(): creates customized confirmation dialog boxes.
  • confirm_exit(): creates a confirmation dialog that exits the program safely (uses confirmation_message_box()).

Graphs Utilities (graphs)

Helpers for creating customizable statistical and analytical charts:

  • bar_chart(): creates customizable bar charts for categorical or indexed frequency data.
  • pie_chart(): creates customizable pie charts with color palettes generation.
  • histogram(): creates customizable histograms with optional frequency polygon overlays and interval-based labels.
  • line_chart(): creates customizable line charts with optional filled area display.
  • scatter_plot(): creates customizable scatter plots, including bubble charts through variable marker sizes.
  • heat_map(): creates customizable heat maps with color palettes generation and optional color bars.
  • radar_chart(): creates customizable radar charts for comparing values across multiple categories.

Input Validation (validation)

Interactive validation utilities using UI dialogs for user input:

  • check_if_list_is_empty(): checks if a list is empty and displays an error dialog if it is.
  • validate_option(): validates user selection from a list of options.
  • validate_string(): ensures non-empty string input.
  • validate_integer(): validates integers (uses Continental European numeric format) with optional range validation through an advanced syntax (syntax example: "(-infinity; 0] | 5 | [10; infinity)").
  • validate_double(): validates decimal numbers (uses Continental European numeric format) with support for fractions and mathematical constants ("pi", "e", "tau", "phi") and optional range validation through an advanced syntax (syntax example: "(-infinity; 0,1] | 1/3 | [pi; infinity)").
  • validate_date_time(): validates date and time input (uses Continental European date format with 24-hour time) with selectable year, time and second inclusion.
  • validate_id(): validates Argentinian national ID numbers.
  • validate_cellphone_number(): validates cellphone numbers (uses Argentinian format).
  • validate_email(): validates e-mail addresses using an official TLDs list (from IANA's website) or syntax fallback (in case of not having an internet connection or a locally imported list of TLDs).

Formatting Helpers (format)

Utilities for applying consistent formatting:

  • decimal_format(): applies Continental European numeric formatting.
  • date_time_format(): formats datetime objects (uses Continental European date format with 24-hour time) with automatic or custom year, time and second inclusion.
  • id_format(): formats Argentinian national ID numbers.
  • cellphone_number_format(): formats cellphone numbers (uses Argentinian format).
  • html_expression_format(): formats plain-text mathematical expressions (like fractions or superscripts) into HTML code for rich text rendering.
  • convert_to_double(): converts string numbers (with Continental European format) into Python floats.
  • define_equality_symbol(): returns the equality (=) or approximation (≅) symbol depending on if the number has rounding precision constraints.

System Utilities (system)

Helpers for interacting with the operating system graphical environment:

  • in_google_colaboratory(): checks if the runtime environment is Google Colaboratory.
  • get_responsive_width(): calculates a responsive width based on screen size to maintain an adaptive UI.
  • get_resources_path(): returns the absolute path to a resource file, regardless of whether the program is running as a script in an IDE or as an executable.

Installation

pip install gui_utilities


Update

pip install -U gui_utilities

Release files for gui-utilities 1.8.4

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

Source distribution (sdist)

Source distribution for gui-utilities 1.8.4
File Size Uploaded
gui_utilities-1.8.4.tar.gz 62.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for gui-utilities 1.8.4
File Interpreter ABI Platform
gui_utilities-1.8.4-py3-none-any.whl Python 3 none any Details

Total release size: 121.8 kB

Release files / gui_utilities-1.8.4.tar.gz

Download URL gui_utilities-1.8.4.tar.gz
Size 62.5 kB
Tags Source
SHA-256 checksum
How to use checksums
d5616072471a633a59c6f409acb87237d676067d227a48580ae3012d735a72f6
BLAKE2b-256 checksum
How to use checksums
cb26afc780d786df4b674eca203531eddc2916dbbb738a8b24733d38163699d1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.3

Release files / gui_utilities-1.8.4-py3-none-any.whl

Download URL gui_utilities-1.8.4-py3-none-any.whl
Size 59.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9066503be11e5d827940d48b6d336c77d1dc194e19466e13a05c066f05e409e3
BLAKE2b-256 checksum
How to use checksums
2bb7d84d7c57b0b5f4d5c0b9ee073206042ee7359cb56c28fbbf048a9200d905
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.3

Release history Release notifications | RSS feed

This release

1.8.4 This release

2 release files

1.8.3

2 release files

1.8.2

2 release files

1.8.1

2 release files

1.8.0

2 release files

1.7.1

2 release files

1.7.0

2 release files

1.6.3

2 release files

1.6.2

2 release files

1.6.1

2 release files

1.6.0

2 release files

1.5.65

2 release files

1.5.64

2 release files

1.5.63

2 release files

1.5.62

2 release files

1.5.61

2 release files

1.5.60

2 release files

1.5.59

2 release files

1.5.58

2 release files

1.5.57

2 release files

1.5.56

2 release files

1.5.55

2 release files

1.5.54

2 release files

1.5.53

2 release files

1.5.52

2 release files

1.5.51

2 release files

1.5.50

2 release files

1.5.49

2 release files

1.5.48

2 release files

1.5.47

2 release files

1.5.46

2 release files

1.5.45

2 release files

1.5.44

2 release files

1.5.43

2 release files

1.5.42

2 release files

1.5.41

2 release files

1.5.40

2 release files

1.5.38

2 release files

1.5.37

2 release files

1.5.36

2 release files

1.5.35

2 release files

1.5.34

2 release files

1.5.33

2 release files

1.5.32

2 release files

1.5.31

2 release files

1.5.30

2 release files

1.5.29

2 release files

1.5.28

2 release files

1.5.27

2 release files

1.5.26

2 release files

1.5.25

2 release files

1.5.24

2 release files

1.5.23

2 release files

1.5.22

2 release files

1.5.21

2 release files

1.5.20

2 release files

1.5.19

2 release files

1.5.18

2 release files

1.5.17

2 release files

1.5.16

2 release files

1.5.15

2 release files

1.5.14

2 release files

1.5.13

2 release files

1.5.12

2 release files

1.5.11

2 release files

1.5.10

2 release files

1.5.9

2 release files

1.5.8

2 release files

1.5.7

2 release files

1.5.6

2 release files

1.5.5

2 release files

1.5.4

2 release files

1.5.3

2 release files

1.5.2

2 release files

1.5.1

2 release files

1.5.0

2 release files

1.4.8

2 release files

1.4.7

2 release files

1.4.6

2 release files

1.4.5

2 release files

1.4.4

2 release files

1.4.3

2 release files

1.4.2

2 release files

1.4.1

2 release files

1.4.0

2 release files

1.3.53

2 release files

1.3.9

2 release files

1.3.8

2 release files

1.3.7

2 release files

1.3.6

2 release files

1.3.5

2 release files

1.3.4

2 release files

1.3.3

2 release files

1.3.2

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.9

2 release files

1.2.8

2 release files

1.2.7

2 release files

1.2.6

2 release files

1.2.5

2 release files

1.2.4

2 release files

1.2.3

2 release files

1.2.2

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.15

2 release files

1.1.14

2 release files

1.1.13

2 release files

1.1.12

2 release files

1.1.11

2 release files

1.1.10

2 release files

1.1.9

2 release files

1.1.8

2 release files

1.1.7

2 release files

1.1.6

2 release files

1.1.5

2 release files

1.1.4

2 release files

1.1.3

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.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