Live data from Hacker News

Kivy – a cross platform Python UI framework

kivy.org

101–107 of 107 posts

Re: Kivy – a cross platform Python UI framework

#101
post #51

Earlier quoted context omitted.

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+…

> one env per project That causes 50 copies of the exact same version of a 1GB library to exist on my system that are all obtained from the same authority (PyPI). I have literally 50 copies of the entire set of CUDA libraries because every conda environment installs PyTorch and PyTorch includes its own CUDA. I'm not asking the OS to maintain this, but rather the package manager ("npm" or "pip" or similar) should do s…

I don't think that's true for the exact same version: https://stackoverflow.com/a/57718049 (ie. it's deduplicated)

Re: Kivy – a cross platform Python UI framework

#102

Earlier quoted context omitted.

Are you just describing something close to Nix?? In any case, Nix solves a lot of these problems.

Kind of, but not really. Nix is extremely complicated. Programs / projects including their dependencies is exceedingly simple. Also, Windows is my primary dev environment. Any solution must work cross-platform and cross-distro. Telling everyone to use a specific distro is not a solution.

It is complicated... but honestly I have found claude 3.5 to just 'fix it'. So you hardly have to spend much time spelunking. You just give it all your dependencies and tell it what you want. It'll whip up a working flake in a few iterations. Kinda magic. So yeah when you can abstract out the complexity it moves the needle enough to make it worth it.

Re: Kivy – a cross platform Python UI framework

#103
post #51

Earlier quoted context omitted.

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+…

> one env per project That causes 50 copies of the exact same version of a 1GB library to exist on my system that are all obtained from the same authority (PyPI). I have literally 50 copies of the entire set of CUDA libraries because every conda environment installs PyTorch and PyTorch includes its own CUDA. I'm not asking the OS to maintain this, but rather the package manager ("npm" or "pip" or similar) should do s…

Ah, sorry I misunderstood.

Yes, it would be nice to have that by default.

In fact, it's what uv (https://github.com/astral-sh/uv) does, and one of the reasons it's so fast and became so popular so quickly.

Astral for the win.

Re: Kivy – a cross platform Python UI framework

#104

All these types of frameworks, ones that have code to make their own UI are fine, but what I really want is to have a declarative UI, like HTML or XAML, bound with some user interaction event engine and access to the underlying OS. Hopefully, we can have that someday, without the likes of Electron or whatnot. I would like to write a react app, with all its progress in UI/UX and thousands of libraries, package them in…

Kivy gives you a pretty good separation of logic and UI with its declarative yaml-like kv files. For me, it conceptually feels a lot like developing in React.

Re: Kivy – a cross platform Python UI framework

#105
post #7

The landing page is weird; it talks more about the funding for the framework than the framework itself. There's only one image showing UI, and the way its styled (cropped, tilted) makes me think its a stock photo, not a screenshot. The stock photo of a train right underneath isn't helping this perception for me. If you got as lost as me, the Gallery is accessible via a link at the top: https://kivy.org/gallery.html

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.

KivyMD has a good selection of Material Design compliant widgets for Kivy. It does for Kivy what MUI does for React.

Re: Kivy – a cross platform Python UI framework

#107
post #100

Earlier quoted context omitted.

Sounds like AccessKit [0] to me [0]: https://github.com/AccessKit/accesskit

Thanks. I'll take a look. But it being in Rust makes me a bit hesitant. A lot of these projects in Rust seem to fizzle out as soon as people get bored with them once they become hard. Do you know of anything major that's using it?

GUI frameworks in any language often fizzle out when they become hard. Its probably one of the larger cases of devs not knowing the massive undertaking they’re embarking on when they start.
Post reply on HN