Hacker News new | past | comments | ask | show | jobs | submit login
Kivy: python UI framework. GPU accelerated, multi-input (win,osx,lin,android)
62 points by tehansen on July 17, 2011 | hide | past | favorite | 18 comments
Kivy 1.0.7. was just released. kivy is the most awesome framework (for any language) for creating stunning user interfaces with support for a wide variety of input modalities like multi-touch, object/marker/fiducial tracking, kinect/gestures. Packaging for windows (exe), osx (.app/.dmg), and android is now available for easy distribution of kivy apps. It's licensed under the LGPL, so you can use it in both open and closed source projects. Info, downloads, and extensive documentation available here: http://kivy.org/ official github repo: http://github.com/tito/kivy From the release notes: Kivy is a full featured framework for creating novel and performant user interfaces, such as multitouch applications, under the LGPL 3 license. The framework works on Windows, MacOSX, Linux and Android. iOS support is coming soon, and available to brave hackers in repos. DISCLAIMER: I am one of the kivy developers, so I am obviously biased in how awesome I think it is. That said, please check it out to see why I am so excited, before knocking me for posting such a shameless plug.



I'm pretty sure that LGPL3 requires that the user be able to replace the library with a modified version of the library.

Since that's not possible on Android that I know of (because of the packaging), I don't see how Android distribution can comply with the LGPL3 license?


What prevents the user repackaging the application given its source?



This is cool, but to seriously use this one would have to have an idea of how extensible this is (is it easy to add new widgets? reskin existing widgets?) compared to existing UI toolkits.

Also it's entirely unclear what makes Kivy specific to NUI? I am assuming that you ditched the old one widget/one focus model and that multiple widgets can have focus at the same time. But that's not really said anywhere, it just "looks" like it from the multiple scrollbars in the demo.

So really aside from the very cool demo there is no strong evidence to convince someone to switch to Kivy if they've worked with UI toolkits before.

Maybe talk about this over the tech demo on top of having cool music.


It's perfectly fitted to make your own widget or add new one. Almost all our widgets are subclassed from another one, and we believe that the simplicity to make your own widget speed up the testing process. We even think that if you don't have a perfect widget that fit to your need, it sometimes simpler to subclass and changes or add new behavior / graphics. Check: http://kivy.org/docs/guide/firstwidget.html#your-first-widge... for a complicated widget that tracing all the touches + trails

What's make Kivy specific to NUI is we have an approach that combine every possible input into one event. That's unlikely because most of times, you have event for specific device (on_mouse_down/move.., on_object_down/move..., on_touch_... ) Here, we have uniq event dispatch, and extensible motion event that deliver all the data he can deliver (position, angle, acceleration, image...). It's called profile, and a motion event can deliver information according to one or more profile. For example, the mouse will fill properties of the "pos" profile, instead of Wacom tablet that will fill "pos", "pressure", or even TUIO with fiducials object that will fill "markerid" and "angle". Then you can do specific interaction or filter specific motion event according the profiles delivered in the current touch.

All the widgets are made using that approach, make it possible multiple interactions at the same time.

Not sure if it'm 100% clear, best is to read & try :)


You should just post this under main HN.

It isn't really an Ask HN sort of item, and Ask should be used for "Tell HN", as that's kinda what HN main is for.

It'll probably get you more exposure, too. I'm curious to see how the licensing works out.


Wow, i've been looking for an open source library like this for ages. This is prettymuch exactly what we have where I work (Unlimited Realities/Fingertapps), but the engine is proprietary and based on a custom scripting language.

Having an open alternative to play around with in my own time will be awesome, thankyou!


I usually prefer native UI toolkits, but this looks decent framework for Android apps. well, Android default UI apis/frameworks are frustrating me. Supporting wide variety of input modalities is nice.


I am not sure how well LPGL works for iOS, since you need to compile it as single executable without dynamic linking to 3rd party libraries, hence need to provide the source.

Can we have LGPL with exception for iOS?


Those pages load very slowly for me, but I like the idea.

It might be experiencing unusual load. Let's use a CDN instead. http://kivy.org.nyud.net/


Same here.


same here, maybe the tweet caused servers to be too busy


yes, reddit + HN brought lots of people at once :/ hopefully back up soon (its loading, albeit very very slowly here).

github is still there for anyone wanting to check it out, the info and docs are best on the website though.


I've been looking for Android via Python. Tell me, what devices have you been using it on? What apps feature it in the market?



How does the Android version work? Does it bundle a Python executable?


Yes, python is compiled for arm, and shipped as a library within the apk. Java -> Python -> your .py application.


that is truly awesome.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: