Live data from Hacker News

Kivy – a cross platform Python UI framework

kivy.org

41–50 of 107 posts

Re: Kivy – a cross platform Python UI framework

#41

One cross platform Python framework I found interesting is flet https://flet.dev/ It's powered by Flutter behind the scenes and familiar enough so that you can translate most things from Flutter/Dart tutorials to Flet. I haven't used it and I'll most likely never will (Flutter developer trying to pivot to real native development), but it seems to have an active community, and in theory, it enables developers to write…

Last time I looked at Flet, it gave the impression that you had to use the wrapped Flutter widgets, making it hard to use widgets and packages from pub.dev in a Flet application.

Re: Kivy – a cross platform Python UI framework

#42
post #20

I wrote one iOS app using Swift and SwiftUI. Has anyone written a Kivy iOS app and pushed it to the app store, if so, please share experiences.

Wrote a fairly complete POC in 2012 with kivy, it was able to render rather detailed floor plans, which was the most important feature of the POC since the idea was that, given the complexity, it should be written once and be able to run on multiple platforms with minimal changes, keeping in mind that mobile platforms were the priority. Most impressively, it was running very well on a first generation iPad, not to me…

Thanks, I will try it out then.

Re: Kivy – a cross platform Python UI framework

#43
post #37

I wrote one iOS app using Swift and SwiftUI. Has anyone written a Kivy iOS app and pushed it to the app store, if so, please share experiences.

I wrote a app to communicate with a medical device in 2018. Was published on Apple AppStore and Android PlayStore https://rvier.fr/images/chronomonitoring.png

Thank you.

Re: Kivy – a cross platform Python UI framework

#44

Earlier quoted context omitted.

This is especially true when you use a lot of tooling. I love jupyter, but installing it in a venv means pulling a lot of deps which will affect a lot what I can install. Fortunately the Python community is much more serious about making deps that work together than the JS community, and the fact it works at all given the cartesian products of all the python modules is kind of a miracle and a testament to that. Unfor…

I'm hopeful the uv will bring us closer to tooling on par with other language ecosystems. But it's very early on in the process.

Given the track record they got, I'm confident they will.

But what I really hope is that they'll tackle the user app shipping problem eventually.

Re: Kivy – a cross platform Python UI framework

#45
post #30

Earlier quoted context omitted.

This is especially true when you use a lot of tooling. I love jupyter, but installing it in a venv means pulling a lot of deps which will affect a lot what I can install. Fortunately the Python community is much more serious about making deps that work together than the JS community, and the fact it works at all given the cartesian products of all the python modules is kind of a miracle and a testament to that. Unfor…

My ideal situation is that the system should maintain authoritative versions of every package and version that is ever requested, and they should not need to be shipped. Multiple versions of a package should coexist. /usr/lib/python3.12/torch/2.1.0/ /usr/lib/python3.12/torch/2.1.1/ /usr/lib/python3.12/torch/2.1.2/ When a package requests 2.1.1 it fetches it right out of there, installing from PyPI if it doesn't. The…

I'm assuming by system you mean OS, which is a terrible, terrible idea. Dev stack and system libs should not coexist, especially because system libs should be vetted by the OS vendor, but you can't ask them to do that for dev libs.

> I have to create a new conda environment for almost every ML paper that comes out

That's how it's supposed to work: one env per project.

As for the rest, it's more telling about the C/C++ community building the things bellow the python wrappers.

Re: Kivy – a cross platform Python UI framework

#46
post #10

FWIW JavaFX is still great too BTW. I have a decent sized app that'll run fine with a 50mb heap, and you get native OS installers too. No web support though.

Does it appear native? And I keep hearing that even though swing is really old, it has better performance and that it’s used by IntelliJ. Not sure though

Funniest thing about Swing is that if you theme it (because you need to), you can make it look just as out of place (but modern!) as any Electron GUI.

Re: Kivy – a cross platform Python UI framework

#47
post #38

out of all cross platform tools - dart / flutter is probably the easiest one. performant comes with all the widgets you want. web, mobile etc. react paid my rent but never again.

Flet doesn't seem to have a Treeview. I find that actually few cross platform GUI toolkits do. Qt, Swing, Wx, but the trendy ones?

Re: Kivy – a cross platform Python UI framework

#48
post #10

FWIW JavaFX is still great too BTW. I have a decent sized app that'll run fine with a 50mb heap, and you get native OS installers too. No web support though.

Does it appear native? And I keep hearing that even though swing is really old, it has better performance and that it’s used by IntelliJ. Not sure though

Yes (to a reasonable approximation), after calling:

    UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
(https://docs.oracle.com/javase%2Ftutorial%2Fuiswing%2F%2F/lo...)

Re: Kivy – a cross platform Python UI framework

#49
post #21

Earlier quoted context omitted.

Note that those are not stock widgets. And that's one of the main show stopper for me with kivy: it comes with very few built-in UI controls, so you have to code a lot of things yourself. I much prefer Python to JS, but things like react native win because of the community libs you can install save you tons of time, and produce a better result.

I prefer Python as a language but JS is much easier to package dependencies and ship a finished product. Python is a big fat conda-docker-shitshow because it doesn't provide a way to do import tornado==5.1.2 import torch==2.1.0 etc. while coexisting in the same shell environment as something else that wants different versions.

Poetry at least helps with that for Python. It's all still a mess though.

Re: Kivy – a cross platform Python UI framework

#50

So how is the accessibility story? No mentions on the site at all. I only found this https://github.com/kivy/kivy/issues/8596 so seems like not yet implemented. Meaning Kivy is not yet a good choice for user-facing apps. It is so frustrating to see all the new UI frameworks and they fall apart if you just ask about accessibility features that should be absolute standard in 2024.

Is there a cross-platform accessibility library? I can tell you that developing a cross-platform GUI framework is a gigantic can of worms fraught with forced yakshaving, no documentarion, no support, and endless bugs across the stack even down into the OS and GPU driver stack. So in my opinion, everyone asking for accessibility features on every GUI framework announcement should get together and make a GLFW for accessibility libraries so that it can indeed be standard.
Post reply on HN