Kivy

Kivy(キビー)は、PythonのNUI(Natural User Interface)でのマルチタッチアプリケーション開発のためのオープンソースライブラリである。動作環境はAndroid、iOS、Linux、Mac OS X、Windowsである。MITライセンスで配布されているフリーのオープンソースソフトウェアである。
Kivyは様々なプラットフォームで動作するように開発が進められており、Raspberry Piもサポートされた。
特徴としては以下のとおりである。
Kivy は PyMTを発展させたものであり、新しいアプリケーションの開発には PyMT ではなく Kivy を使うことが推奨されている。
コード.
ボタン一つのHello worldアプリケーションは下記のとおり。
from kivy.app import App
from kivy.uix.button import Button
class TestApp(App):
 def build(self):
 return Button(text='Hello World')
TestApp().run()
言語としてのKv.
Kvは言語として、ユーザーインターフェースとその作用を記述できるようになっている。QMLと同じく、容易にUI全体を作り、そこにイベントを追加できる。たとえばキャンセルとロードのボタンをのせたローディングダイアログを含むファイルブラウザを作るなら、ベースとなるウィジェットを一つPythonで作り、あとはKvでUIを構築できる。
In main.py:
class LoadDialog(FloatLayout):
 def load(self, filename): pass
 def cancel(self): pass
And in the associated Kv:
<LoadDialog>:
 BoxLayout:
 size: root.size
 pos: root.pos
 orientation: "vertical"
 FileChooserListView:
 id: filechooser
 BoxLayout:
 size_hint_y: None
 height: 30
 Button:
 text: "Cancel"
 on_release: root.cancel()
 Button:
 text: "Load"
 on_release: root.load(filechooser.path, filechooser.selection)
Google Summer of Code.
KivyはPython Software FoundationのGoogle Summer of Codeに参加しました。