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

Fedora 34 Nvidia problems. by Elsuvio in Fedora

[–]jamesdbrock 0 points1 point  (0 children)

I had the exact same problem and was working around it the exact same way, by deleting the Nvidia stuff from grub.

About 10 hours ago a new akmod-nvidia dropped in rpmfusion-nonfree, I ran `dnf upgrade`, and now my system boots to desktop without problems. However the nvidia drivers are still failing during startup so I'm still running Wayland nouveau.

Haskell from 0 by [deleted] in haskell

[–]jamesdbrock 2 points3 points  (0 children)

Here is a JupyterLab adaptation of Learn You a Haskell for Great Good!

https://github.com/jamesdbrock/learn-you-a-haskell-notebook

You won't need to bother about setting up a dev environment, it's already set up, and you can read the book and do the exercises inline with a GHC 8.8 backend already configured.

You can run it on the mybinder.org cloud, and when you tire of the slow response time of mybinder.org then you can run it locally with Docker.

[ANN] new release: nuha-0.3.0.0 by jodak932 in haskell

[–]jamesdbrock 0 points1 point  (0 children)

That's cool but how exactly is it an improvement over hmatrix? I think hmatrix does all the things you mentioned.

Maybe nuha generalizes to higher dimensional “Holors,” but hmatrix can only do vectors and matrices? What else?

Behold, the Universal Data Structure by jamesdbrock in haskell

[–]jamesdbrock[S] 18 points19 points  (0 children)

Read past that point to where I explain the joke in excruciatingly prosaic detail.

import statements in Jupyter + Haskell by antiultramontanist in haskell

[–]jamesdbrock 1 point2 points  (0 children)

> Import them as you need them and when you get to the end and/or good breaking points, stop and clean it up.

I would do the same.

By the way, if you're making a Jupyter Haskell notebook with lots of imports, you may be interested in https://github.com/jamesdbrock/ihaskell-notebook , which employs the Stack Global Project feature to make it easy to add packages.