Pyzed: native desktop GUIs in Python, drawn by Rust's Iced (a modern alternative to Tkinter/PyQt)

Hi! I'm the author of Pyzed, an open-source library I've been building for desktop apps in Python.

What My Project Does

You write the interface in plain Python (state, update and view, the Elm architecture) and Iced, a GUI toolkit written in Rust, does the layout and draws it on the GPU, with a CPU fallback. It comes with 90+ ready-made components inspired by the Zed editor (tables with hundreds of thousands of rows, tabs, command palette, code editor, terminal…), themes, animations and a visual designer, Pyzed Design, where you drag components onto a form and press F5 to run it. pip install pyzed-ui, no Rust needed.

import pyzed as pz
from pyzed import ui


class Counter(pz.App):
    def __init__(self):
        self.count = 0


    def update(self, message):
        if message == "inc":
            self.count += 1


    def view(self):
        return pz.center(ui.button(f"Clicked {self.count} times", "inc"))


pz.run(Counter)

Target Audience

People who want a desktop app in Python that looks current without shipping a browser: internal tools, dashboards, editors, small games. It's MIT, runs on Linux, macOS and Windows, and is usable today, though it's a young project with one main maintainer.

Comparison

  • Tkinter: always available and very light, but dated looks and few modern widgets.
  • PyQt/PySide: very complete and mature, but large, with licensing to think about (PyQt is GPL/commercial) and a lot of API.
  • Kivy: great for touch and mobile, but its own look and a heavier startup.
  • Flet: pleasant API, but it runs Flutter in a separate process.

Pyzed sits in between: native rendering with no web engine, a small Pythonic API, and a visual designer included. Import takes about 35 ms; there's a benchmark page comparing it with these libraries.

Repo: https://github.com/albakore/pyzed

Feedback is very welcome, especially on what's missing for your use case.

7 comments · 69% upvoted · other discussions

comments

Silentwolf99

https://preview.redd.it/io9breuxigxh1.png?width=1420&format=png&auto=webp&s=d4b579abcaff66b093b588c3ec5eae0c9613ff84

trying to read through webpage but why there is a big gap in the webpage is it a loading issue or wanted space ?

Funny-Surround9691 [OP]

Actually, I feel it would look better that way. You might be right; centering the text could be an improvement.

I drew inspiration from other websites.
I’m going to try changing the text layout.

Silentwolf99

Yes need little UI/UX Update...

Silentwolf99

Good one let you know after exploration

Funny-Surround9691 [OP]

Thank you!

Miguelito_Pitti

Interesante proyecto, le echaré un vistazo

Funny-Surround9691 [OP]

Gracias, cualquier cosa me dice que te parece.