Hi Daniel,
I've been working on this problem recently; I posted about the idea to this very list a few months ago:
At the time I posted, I had posted Python builds that work on both Android and iOS:
and template projects that get you to "hello world" on a mobile platform without much effort.
I've also tackled the cross-language bridging issue:
and wrapped native widgets up into a cross-platform widget library:
Now - I'm not claiming that these are anywhere near production ready - they're proof of concept at best. However, I completely agree with your original premise that Python needs a story on mobile platforms, and I'm interested in working on that story. If you go back and read the Python-ideas thread from a few months ago, it looks like there was broad support for the idea, but it would all hinge on the specifics.
So, that's what I've been working on. Since I posted to Python-ideas in October, I've been focussing on getting the patches necessary for Python's own build system. However, I've been distracted by work life etc, so I haven't made as much progress as I would have liked. I'm hoping the Christmas/New year break will give me a chance to make some headway.
As far as Kivy goes - I have tinkered with Kivy; I've even used Kivy's tools as a starting point for some of my own efforts. However, to me, Kivy is focussing too far up the stack - their toolchain appears to be based on getting *Kivy* working on mobile, not *Python*. This is an entirely reasonable approach if Kivy is what you want at the end of the day - but it's not what *I* want. I've been taking a much more atomic approach. The Kivy toolchain is also anchored in old versions of Python 2; something that definitely needs to be addressed.
Ultimately, I want to get these patches in to Python's trunk; but I'm still a way off that being a reality. If you're interested in collaborating and helping me get to that point, please get in touch - there's plenty of work to do, and if you're keen to help, I'm happy to share what I've got so far.
Yours,
Russ Magee %-)