I was expecting "pip install kivy" > "python helloworld.py" > done
Instead I got "install these things", "if you're using this version install this other thing", "cool now install kivy".
I went ahead and tried to package a Windows app using their recommended method (PyInstaller), and PyInstaller doesn't support current version of Python.
Thought I'd take a look at other offerings, for iOS there's a weird project-mirror XCode generator script. Android isn't any better.
I mean, this is more of a reflection on the disparity across different platforms and packaging tools rather than Kivy itself. There's a reason some large Enterprises won't touch all of these tiny, moving, fragile tech.
In saying all of that, I think Kivy has some very nice points. The examples are straightforward, and to-the-point, covering a lot of use cases. However I think having this as a >1.0 versioned release is kind of crazy. When comparing this to other frameworks, why would you ever choose this? Aside from "I like Python"? Definitely shows a lot of promise, but I think sitting in sub 1 state for a while like Rust until you've got something going for you would help with adoption and on-boarding.
EDIT: Tried to use PyInstaller from source, no luck - SDL required. Found a closed bug report which explains how to fix it - the "optional" library has to be installed for PyInstaller to work. Go figure. https://github.com/kivy/kivy/issues/4482