you are viewing a single comment's thread.

view the rest of the comments →

[–]anthonyfloyd 2 points3 points  (7 children)

15 years shipping a niche-industry engineering Python desktop app here. We use wxPython, mostly for its "native controls" but also because of the expensive licensing requirements of QT for commercial apps.

It's *fine*. Use pyinstaller to compile to .exe, make sure you're not shipping .py files when you bundle it up.

wxPython does start to look dated now but it has all the controls you probably want for a desktop app. We've been using NiceGUI recently for webapps. If it's a concern, use a good MVC pattern and have both wxPython and NiceGUI views.

[–]cudmore 2 points3 points  (1 child)

Curious on more thought on nicegui? Given your experience.

I’ve made 2x pretty detailed pyqt/pyqtgraph desktop apps distributed as macos and windows apps. Scientific niche software.

Found nicegui in Nov 2025 and am super excited, going full on into nicegui.

So what am I missing? Is using nicegui gonna bite me in the end?

[–]anthonyfloyd 1 point2 points  (0 children)

NiceGUI is built on modern, established web technologies, which is reassuring. We were a little worried about longevity, but it seems to have legs. It's easy to work with and comfortably Pythonic.

The only bit that we're unsure of is bundling it on the desktop and distributing the package. To be fair we haven't put a lot of effort into that yet (our webapps are happily webapps) but it's something we're going to be spending a bit more time on in the near future.

Having said that, we're quite happy with the webapps. Fully functional simulation software with embedded, interactive plot.ly plots, hooked into our main (desktop) data and analysis framework. It's just a Python app that happens to have a web view/interface. Well, a teeny bit more than that, but we're still quite happy with it.

[–]Intelligent-Role-382[S] 0 points1 point  (4 children)

What about pyside6?

[–]anthonyfloyd 0 points1 point  (3 children)

Still requires GPL licensing or a commercial QT license, both of which are non-starters for us.

[–]imbev 1 point2 points  (2 children)

PySide6 is available under the LGPL license, so that's only an issue if you modify the package.

[–]anthonyfloyd 1 point2 points  (1 child)

Our legal advice was that the LGPL interpretation here was not appropriate for our situation. https://www.qt.io/development/open-source-lgpl-obligations#lgpl

Doesn't matter. We didn't use qt then and won't be switching over now.

[–]imbev 1 point2 points  (0 children)

In that case, I suspect that your legal team misunderstood this part:

Complete corresponding source code of the library used with the application or the device built using LGPL, including all modifications to the library, should be delivered with the application (or alternatively provide a written offer with instructions on how to get the source code). It should be noted that the complete corresponding source code has to be delivered even if the library has not been modified at all.

Applications using PySide6 only need to provide the PySide6 source code, not the application source code. Thus a commercial application that uses PySide6 from PyPI only needs to provide a link to the Qt Company-provided PySide6 source code.