Skip to main content

Small tool to simplify the creation of GUIs

Project description

Test and build PyPI version shields.io PyPI status PyPI pyversions PyPI license Website pyguitemp Windows macOS Linux

Python GUI Template

This little tool's purpose is to facilitate getting started building a GUI for your software. It takes care of most of the boilerplate code that you need to build a GUI - making some opinionated decisions about the general layout of the application - so you can focus on adding the business logic and views specific to your problem.

pyguitemp uses wXPython as the GUI framework, meaning that the resulting application will have a native look and feel regadless of running it on Windows, Linux or MacOS.

What pyguitemp is and what is not

pyguitemp takes care of the boilerplate code and enables you to have a minimal application running in no time, but you still need to code the rest of your GUI mannually yourself. That means you will need to learn how to use wxPython, the widgets it offers and their options.

This is not a graphical designer for GUIs, as it could be QT Designer, Glade or Matlab's App Designer. All of those are excellent tools... just a different kind of tools. pyguitemp will save you some valuable time when creating a GUI, but it is still a low level library.

Why wxPython as GUI framework

While there are several excellent frameworks available, mature, well supported and with many options for customization - in particular PySide2 and PyQt, both based in QT - wxPython offers a licensing scheme a little bit more flexible that makes it suitable for both open and close source projects.

We strongly support open source software and open research, but we understand that it is not always possible or advisable, at least at beginning, and we want to offer a tool that could suit most users most of the time.

Installation instructions

WARNING: pyguitemp is in an early stage of development and the API might change without notice. Use it in production with caution. And please, contribute to it to help improving its maturity as fast as posisble!

pyguitemp and its dependencies can be installed with pip in Widnows, Linux and MacOS (see notes below):

pip install pyguitemp

What about linux

pyguitemp can be installed in Linux with pip, but wxPython will likely need to be built from source as there are not manylinux wheels for it, yet.

The best option is for you to check if there is a wheel available for your specific linux distirbution and python version in the wxPython downloads webpage and install that one before installing pyguitemp. Otherwise, in the same webpage you have instructions on how to install wxPython from source.

Alternatively, if you use conda, you can install wxPython from conda-forge and then install pyguitemp as above.

What about MacOS

wxPython causes some issue on MacOS when installed with a "Non Framework" version of python. It typically complains with this error message:

This program needs access to the screen. Please run with a
Framework build of python, and only when you are logged in
on the main display of your Mac.

To work around this:

  1. Install a python.org version of python.
  2. Find executable under /Library/Frameworks/Python.framework/....
  3. Use that executable to create a virtual environment: /Library/Frameworks/Python.framework/Versions/<version>/bin/python3 -m venv .venv.
  4. Install pyguitemp inside virtual environment, and all should work!

Alternatively, if you use conda to install wxPython, you will need to use pythonw to execute your applications. See wxPython downloads webpage for more information on this.

Using pyguitemp

There are several ways you can benefit from pyguitemp, depending on what you want to achieve. Check the documentation for full details.

  • Initialise your current directory with a skeleton for your GUI application using pyguitemp with python -m pyguitemp init my_app.
  • Run pyguitemp with all its available expensions for your to have a look and explore the things you can do with it, uwing python -m pyguitemp run.
  • Explore pyguitemp's repo, flick trhough the code, learn how to do things, brings those which are useful to your own application, or clone the whole repo and customize the core classes and functions to fully suit your needs.

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

pyguitemp-0.1.21.tar.gz (136.8 kB view details)

Uploaded Source

Built Distribution

pyguitemp-0.1.21-py3-none-any.whl (127.5 kB view details)

Uploaded Python 3

File details

Details for the file pyguitemp-0.1.21.tar.gz.

File metadata

  • Download URL: pyguitemp-0.1.21.tar.gz
  • Upload date:
  • Size: 136.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for pyguitemp-0.1.21.tar.gz
Algorithm Hash digest
SHA256 f8df756017d7e6cbf88a97c709272a226856fa9dfc9caa1ee29807d83a5871bf
MD5 b9bbad07dc2c9ba2fc99a9bd3cd0e002
BLAKE2b-256 c08937136356ad40f854ebbf694f10cbb196e1abbb9ba04616a407cd8d1c560c

See more details on using hashes here.

File details

Details for the file pyguitemp-0.1.21-py3-none-any.whl.

File metadata

  • Download URL: pyguitemp-0.1.21-py3-none-any.whl
  • Upload date:
  • Size: 127.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for pyguitemp-0.1.21-py3-none-any.whl
Algorithm Hash digest
SHA256 d885ce4d7754974a471772c338a4e90bd3828bf2b6fef41a564927e7f87f6849
MD5 12b979094695c2b5f61b6a7d77ace8c8
BLAKE2b-256 cd8ab398edb237073d229c316316e5ce276819eacb4c27558c195d3cbc800364

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page