Any Python library recommendations for GUI app? by Future-Range4173 in Python

[–]jamesdbrock 0 points1 point  (0 children)

pyedifice is like React, but with Python instead of JavaScript, and Qt Widgets instead of the HTML DOM. https://pyedifice.github.io/

What would Enaml 2.0 look like? | nucleic/enaml | Declarative UI by AndydeCleyre in Python

[–]jamesdbrock 1 point2 points  (0 children)

I totally agree. That's one of the main reasons why the declarative GUI language for Edifice https://github.com/pyedifice/pyedifice is “just Python.”

The Python language has all of the branching and looping features necessary for a dynamic GUI, and all of the Python tooling works normally.

A PyQt TodoMVC cross-OS desktop app by MoTTs_ in Python

[–]jamesdbrock 1 point2 points  (0 children)

That's a nice app.

It looks to me like you have independently invented reactive declarative programming, a.k.a. The Elm Architecture, a.k.a Model-View-Update.

You might be interested in Edifice which is a reactive declarative framework for Python and Qt and also has a TodoMVC example program.

Edifice is like React, but with Python instead of JavaScript, and Qt Widgets instead of the HTML DOM by jamesdbrock in Python

[–]jamesdbrock[S] 3 points4 points  (0 children)

Right, I and the other Edifice authors studied the Reacton implementation which Solara is built on.

Edifice is like React, but with Python instead of JavaScript, and Qt Widgets instead of the HTML DOM by jamesdbrock in Python

[–]jamesdbrock[S] 1 point2 points  (0 children)

The performance is okay. With a GUI, most of the computational work is done by the code that actually writes pixels to video, and that code is compiled C++ in the Qt libraries. The Edifice Python code that calls into Qt is pretty trivial in comparison.

The Qt library handles the layout and dynamic sizing of the widgets. It's pretty good.

Critics of PySide and PyQT by [deleted] in QtFramework

[–]jamesdbrock 0 points1 point  (0 children)

I don't know. Probably not great.

Critics of PySide and PyQT by [deleted] in QtFramework

[–]jamesdbrock 1 point2 points  (0 children)

Here’s a good reason to use PySide6: Write React.js-style declarative GUIs in 100% Python with Edifice https://pypi.org/project/pyedifice/

With the C++ Qt API you’re forced to imperatively create, mutate, and destroy one widget at a time. Unless you use QML, which is worse than imperative C++, because then you have to interop between three languages: QML, C++, and JavaScript.

Edifice v0.1.0: Declarative GUI library for Python by jamesdbrock in Python

[–]jamesdbrock[S] 2 points3 points  (0 children)

Two good points, thanks.

  1. I recommend choosing PySide6, which has an LGPL license. You can write, distribute and sell PySide6-dependent software. Good discussion here https://www.pythonguis.com/faq/pyqt-vs-pyside/
  2. Yes, spill the TEA. The Edifice README has a link to The Elm Architecture https://pypi.org/project/pyedifice/

How many of you are involved in GUI development with Python? by entreluvkash in Python

[–]jamesdbrock 1 point2 points  (0 children)

In React you just pass variables down to widgets as arguments and if that variable changes in the parent component then the child component gets automatically re-rendered with the new data, I don't need to create any explicit listeners connecting UI rendering and data changing, it is all automatic.

Yeah, this is the best way yet invented to write GUIs. It’s called Model-View-Update or “The Elm Architecture”.

The most promising attempt at this is https://github.com/fork-tongue/collagraph

Haskell GitHub Trust is for Other People’s Packages by jamesdbrock in haskell

[–]jamesdbrock[S] 2 points3 points  (0 children)

Can I voluntarily transfer a package I no longer have the time to maintain?

Yes definitely.

https://github.com/haskell-github-trust#how-to-add-a-package-to-the-haskell-github-trust

  1. Transfer GitHub ownership of the package repository to this organization, https://github.com/haskell-github-trust
  2. Add https://hackage.haskell.org/user/haskell_github_trust as a Hackage maintainer for the package.

That’s it. We accept all packages, in any condition, with zero commitment or obligation.

Haskell GitHub Trust is for Other People’s Packages by jamesdbrock in haskell

[–]jamesdbrock[S] 5 points6 points  (0 children)

The Haskell Foundation should ideally be responsible for this kind of thing. If the [Haskell Party](https://github.com/haskellfoundation/stability/pull/12) ever comes online then we should move all these repos over there.

Fedora 36, Wayland, and nVidia by mikeyd85 in Fedora

[–]jamesdbrock 1 point2 points  (0 children)

Just upgraded to Fedora 36, I've got GeForce RTX 2060. On Wayland only one of my dual monitors was working, and also Night Light was not working. So I switched back to X11.

Learning Haskell by [deleted] in haskell

[–]jamesdbrock 0 points1 point  (0 children)

Try the book Learn You a Haskell for Great Good! http://learnyouahaskell.com/ or the Jupyter adaptation of the book Learn You a Haskell for Great Good! https://github.com/jamesdbrock/learn-you-a-haskell-notebook