Skip to main content

An easy-to-use package for quickly creating smaller and bigger GUIs

Project description

SwiftGUI

A python-package to easily create user-interfaces (GUIs).

While most packages focus either on small, or big applications, SwiftGUI does both.

Compatible with Python 3.10 and above

Has some minor optimizations when running in Python 3.12+.

Getting started / documentation

Start your journey here

The documentation now has its own repository.

Completely vibe-coding free

No AI was used in writing this code.

The only way I used it was to research really specific topics with tkinter.

I did not use it to write, check, correct, or refractor code.

Even the documentation was written completely AI-free. Takes me around 2 hours per document, but that's a good price for keeping this library slop-free.

32 different elements, 9 different canvas-elements

(Version 0.10.0)

import SwiftGUI as sg

Call sg.Examples.preview_all_elements() for an overview of all the elements.

Does your GUI look bad?

import SwiftGUI as sg

Just call sg.Themes.FourColors.Emerald() before creating the layout.

This applies the Emerald-theme, my personal favorite.

See which themes are available by calling sg.Examples.preview_all_themes().

Alpha-phase!

I am already using SwiftGUI for smaller projects and personally, like it a lot so far.

However, until version 1.0.0, the package is not guaranteed to be fully downward-compatible. Names and functions/methods might change, which could mess up your code.

For version 1.0.0, I'll sort and standardize names, so they are easier to remember.

Don't worry too much though, it's pretty much ready for beta-phase. Upcoming changes to existing code will probably be minor.

Installation

Install using pip:

pip install SwiftGUI

Update for the newest features and elements:

pip install SwiftGUI -U

NOT a clone of PySimpleGUI

SwiftGUI is it's own package with its own functionality.

I really liked PySimpleGUI (until they went "premium"), but once you work a lot with it, you'll notice the downsides of it more and more.

SwiftGUI can be used almost exactly like PySimpleGUI, but has a lot of additional features.
Also, SwiftGUI's naming is different sometimes.
E.g.: enable_event is called default_event. Makes more sense in my opinion.

There will be a lot of learning-material, including

  • Written tutorials (see "getting started" below)
  • Video tutorials (Planned for version 1.0.0)
  • Application notes, which are short descriptions of actual applications
  • Examples, which show an actual application of SwiftGUI
  • The GitHub forum (discussions) for questions

Why SwiftGUI instead of PySimpleGUI?

First, note that SwiftGUI can be used almost exactly like PySimpleGUI.
You won't have to learn everything starting from 0.

I have a lot of experience with PySimpleGUI, used it for years.
It is very useful for smaller applications.

Unfortunately, at a certain level of complexity, you'll hit a wall.
All those simple features of PySimpleGUI are suddenly big disadvantages. (There are concrete examples in the readme of the documentation.)

While developing SwiftGUI, I already used it all the time for things previously implemented in PySimpleGUI. Let me tell you, it's sooooo much more pleasant than PySimpleGUI, even when it was far away from being done.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

swiftgui-0.10.27.tar.gz (130.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

swiftgui-0.10.27-py3-none-any.whl (174.5 kB view details)

Uploaded Python 3

File details

Details for the file swiftgui-0.10.27.tar.gz.

File metadata

  • Download URL: swiftgui-0.10.27.tar.gz
  • Upload date:
  • Size: 130.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.13.0 Windows/10

File hashes

Hashes for swiftgui-0.10.27.tar.gz
Algorithm Hash digest
SHA256 2ea7404cd2c8c5b35f6e08c75a8628137a8f9aa93237a9e642f1dae7e5244ff4
MD5 7b9bc7e4dce0027f35c83d8254a0c946
BLAKE2b-256 73bc2a33300a7c66151f283fa88eef649113a92f971715239efb627250f5ede0

See more details on using hashes here.

File details

Details for the file swiftgui-0.10.27-py3-none-any.whl.

File metadata

  • Download URL: swiftgui-0.10.27-py3-none-any.whl
  • Upload date:
  • Size: 174.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.13.0 Windows/10

File hashes

Hashes for swiftgui-0.10.27-py3-none-any.whl
Algorithm Hash digest
SHA256 d62b30acbe0e69fb20d3fd360a0d0d251d57a9af173448c3a41717d55be760a3
MD5 4ac1657d3692d1d0fc160835be9f79aa
BLAKE2b-256 c8843bd24d6bcfe5eeeeca3aef0bc9d19bddf9a9ceecdfbd3ffcd660b1246d90

See more details on using hashes here.

Supported by

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