GUI's for a Desktop App in Python: Kivy, Pyside or TKinter?

This page summarizes the projects mentioned and recommended in the original post on /r/learnpython

Our great sponsors
  • Onboard AI - Learn any GitHub repo in 59 seconds
  • InfluxDB - Collect and Analyze Billions of Data Points in Real Time
  • SaaSHub - Software Alternatives and Reviews
  • CustomTkinter

    A modern and customizable python UI-library based on Tkinter

  • nicegui

    Create web-based user interfaces with Python. The nice way.

    Check out

  • Onboard AI

    Learn any GitHub repo in 59 seconds. Onboard AI learns any GitHub repo in minutes and lets you chat with it to locate functionality, understand different parts, and generate new code. Use it for free at

  • ChaseBlissEditor

    An editor for Chase Bliss Effects Pedals

    Here is an example:

  • Sun-Valley-ttk-examples

    Example apps for my stunning Sun Valley ttk theme!

  • ttkbootstrap

    A supercharged theme extension for tkinter that enables on-demand modern flat style themes inspired by Bootstrap.

  • ttkthemes

    A group of themes for the ttk extenstions for Tkinter

  • TKinterModernThemes

    A collection of modern themes with code that makes it easy to integrate into a tkinter project.

  • InfluxDB

    Collect and Analyze Billions of Data Points in Real Time. Manage all types of time series data in a single, purpose-built database. Run at any scale in any environment in the cloud, on-premises, or at the edge.

  • Azure-ttk-theme

    A stunning modern theme for ttk inspired by Fluent Design 💠

  • Forest-ttk-theme

    A beautiful modern theme for ttk, inspired by MS Excel's look 🌲🌳

  • guitk

    Python GUI Toolkit for Tk (guitk): simplify the layout and construction of tkinter graphical user interfaces in python using a declarative syntax.

    It's still in alpha stage but if you're considering tkinter, take a look at GUItk. This is a new declarative framework I'm building around tkinter to make it really easy to create a GUI without every having to think about pack, grid, or place. Layout is accomplished using a declarative syntax with context handlers. Event handlers are created using decorators to easily handle events from a specific widget or events of a specific type. A simple "Hello World" in GUITk:

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts