On 12/29/14, Russell Keith-Magee email@example.com wrote:
On Mon, Dec 29, 2014 at 5:30 AM, Fetchinson . firstname.lastname@example.org wrote: >
On 12/27/14, Russell Keith-Magee email@example.com wrote:
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.
What do you mean by this exactly? I thought kivy = python + some libraries. So if kivy works on android that necessarily means that python itself works as well, doesn't it?
Yes and no.
Yes, Kivy is just a set of Python libraries, and a Kivy program is just a Python program.
However, "Hello World" in Kivy isn't 'print("Hello world")'. It's setting up a whole Kivy stack, and starting a Kivy runloop - and the Kivy toolchain is focussed on getting you to the point where you can start that runloop.
Even if you work around that, and just use Python "out of the box", you're going to be carrying at least some of the overhead of Kivy.
Thanks, got it.
I thought I'd use kivy even if I don't need any of their fancy libraries only a basic python installation, but you'd say this is not a good approach?
It would probably work - I haven't tried, so I can't comment from experience. However, if you go down this path, you won't have a "Basic python installation" - you'll have "Python + kivy", because their tools don't give you the option to not install the Kivy parts (at least, not as far as I could work out).
From my experience, getting Python compiled using Kivy's tools wasn't that hard - but getting Kivy compiled was a PITA, because Kivy has a bunch of other dependencies, like sound support libraries, OpenGL libraries, Cython, and so on. These are all essential for Kivy, but not for Python, and not for my purposes either.
Ultimately, I'm working on something that is, at one level, a competitor to Kivy. I don't want my install instructions to be "install Kivy, now throw all that stuff away and use Toga"; and I don't want my users to have to go through the same drama of getting Kivy's whole dependency chain compiled. I just want Python, and then I'll decide what other pieces I want. That's why I'm trying to get the build fixes into Python's core - I want Python to be compilable for mobile platforms, and then leave the decision of which libraries you want to use up to the end developer.
Okay, now I understand your project better. And I'd say what I'd like to have is exactly what you are aiming for: having the more or less same python installation as on linux, windows, macos, but this time on android (I don't really care for ios).
There is one additional feature I'd like to see though: hardware integration: accessing incoming/outgoing calls, camera, sensors, etc. But I guess that would be a secondary goal, I completely agree with you that first an ordinary python stack would be great.
Yours, Russ Magee %-)
-- Psss, psss, put it down! - http://www.cafepress.com/putitdown