Live data from Hacker News

Kivy – a cross platform Python UI framework

kivy.org

61–70 of 107 posts

Re: Kivy – a cross platform Python UI framework

#61
post #32

I feel like an old grandpa while using tkinter!

I still use tkinter for apps that I make for my own use. Those are often for lab automation, where a primitive GUI lets me avoid needing 3 hands while running an experiment, and the support for live graphs is extremely useful.

For stuff that I'm likely to share with others, I've been moving over to Flet, because it lets me build things like webapps and stand-alone Windows apps. Both of those things can eliminate the hassles of installing Python apps as experienced by non-programmers.

I hate writing GUI code, and in both cases have written crude wrappers that let me throw together a functional dialog with tolerable defaults for everything. This approach works for "programmers who shouldn't trust themselves to write GUI's," similar to the old Visual Basic.

Re: Kivy – a cross platform Python UI framework

#63
Related:

Python dev considering Electron vs. Kivy for desktop app UI - https://news.ycombinator.com/item?id=39889274 - March 2024 (9 comments)

Python app development for beginners – Kivy mobile app tutorial - https://news.ycombinator.com/item?id=26935529 - April 2021 (9 comments)

Kivy: Cross-Platform Python Framework for UI Development - https://news.ycombinator.com/item?id=25484451 - Dec 2020 (55 comments)

An update on Python-for-android: v2019.06.06 released and future plans - https://news.ycombinator.com/item?id=20133966 - June 2019 (7 comments)

Kivy 1.10.0 released - https://news.ycombinator.com/item?id=14297890 - May 2017 (33 comments)

Python for Android - https://news.ycombinator.com/item?id=13964561 - March 2017 (61 comments)

Kivy: Develop multi-touch enabled Python apps - https://news.ycombinator.com/item?id=12127158 - July 2016 (45 comments)

Kivy 1.9.1 released - https://news.ycombinator.com/item?id=10827322 - Jan 2016 (22 comments)

Python on Android - https://news.ycombinator.com/item?id=9482618 - May 2015 (49 comments)

Kivy 1.9 – A framework for creating novel and performant user interfaces - https://news.ycombinator.com/item?id=9315404 - April 2015 (16 comments)

Kivy – Open-source Python library for rapid development of applications - https://news.ycombinator.com/item?id=8181306 - Aug 2014 (47 comments)

Python on Android? First impressions of Kivy - https://news.ycombinator.com/item?id=4677863 - Oct 2012 (10 comments)

Kivy - Open source cross-platform library for rapid development - https://news.ycombinator.com/item?id=4601016 - Oct 2012 (23 comments)

Kivy: python UI framework. GPU accelerated, multi-input (win,osx,lin,android) - https://news.ycombinator.com/item?id=2773488 - July 2011 (18 comments)

Re: Kivy – a cross platform Python UI framework

#64

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…

Why do people keep doing things like investing in a framework, written by one set of developers, built on another framework, written by another set of developers, and acting like that is not insane? Unless both stacks are written by huge software companies that have an extreme vested interest in keeping them running, there is a huge risk of abandonment. Maybe Google just decides maintaining flutter is a pain in the a…

Why do people write frameworks on top of programming languages that other developers wrote?

Feels like a similar kind of energy, but your scenario is easier: if it goes away they could find new maintainers or take it up themselves.

Re: Kivy – a cross platform Python UI framework

#65

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…

Why do people keep doing things like investing in a framework, written by one set of developers, built on another framework, written by another set of developers, and acting like that is not insane? Unless both stacks are written by huge software companies that have an extreme vested interest in keeping them running, there is a huge risk of abandonment. Maybe Google just decides maintaining flutter is a pain in the a…

> What are we gaining here that is worth such an enormous risk?

Well, Flet's landing page has a bunch of features and benefits. What is an "enormous risk" anyway? Depends on what you're doing. There are endless cases I can imagine where I just don't care at all about such a risk.

Re: Kivy – a cross platform Python UI framework

#66
post #21

Earlier quoted context omitted.

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.

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 install most tooling, including Jupyter, using pipx. The only thing I then need to install in the project venvs is ipykernel (which I add as a dev dep), and then create a kernel config that allows Jupyter to be run using that venv.

Re: Kivy – a cross platform Python UI framework

#67
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…

Actually conda creates hardlinks for the packages that it manages. Found this out a few weeks ago when I tried migrating my envs to another system with an identical hierarchy and ended up with a broken mess.

Re: Kivy – a cross platform Python UI framework

#68
post #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 acces…

Not quite what you're asking for, but Microsoft (my employer) has a free tool for checking web and Windows apps for accessibility best practices: https://accessibilityinsights.io/

Re: Kivy – a cross platform Python UI framework

#69

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.

If something isn't supported you can open an issue, or add that support yourself. The latter is relatively easy to do nowadays.
Post reply on HN