Kivy
Url
Tagline
Open source Python library for rapid development of applications that make use of innovative user interfaces, such as multi-touch apps.
Is a
Supports desktop (Linux, Windows, OS X), Android, iOS, ...
It doesn't try to look native
Will have to check how customizable the look-and-feel is. As long as it's enough to make it look good it shouldn't be a problem.
Good support for multitouch (even simulating it on desktop)
Might be a bit focused on new interaction forms, so the primitives for usual apps are a bit complex?
Hello world
# Would trigger some imports if declared as python block
from kivy.app import App
from kivy.uix.button import Button
class TestApp(App):
def build(self):
return Button(text='Hello World')
TestApp().run()
Demo of multiple ways of building applications
Inspector module available
Has a UI design language
See
TestKV*App for how to use it. It's reasonably straightforward.
Requirements
Might require
libsdl
"sdl-config"
"freetype-config"
[ 1/1 ] Errors running on PinePhone
Blank screen
If running it returns
x11 - ModuleNotFoundError: No module named 'kivy.core.window.window_x11'
File "/home/mobian/.local/lib/python3.9/site-packages/kivy/core/__init__.py", line 58, in core_select_lib
mod = __import__(name='{2}.{0}.{1}'.format(
[INFO ] [Text ] Provider: pil(['text_pango', 'text_pygame'] ignored)
[CRITICAL] [App ] Unable to get a Window, abort.
Install from source with export USE_X11=1
Launch with KIVY_WINDOW=x11
Not supports screen scroll
Other run flags
Other approaches (dropped halfway)
Install from source with export USE_WAYLAND=1
How to force this config?
Other tested approaches (not working)
Theory
Problem with OpenGL
Install X11
pip install xlib
Consider options.extras_require
from https://github.com/kivy/kivy/blob/master/setup.cfg
Consider installing from distro's repo
sudo apt install python3-kivy
Version 1.11.0, not 2 (as of [ 2021-03-25 Xov ] )
Doesn't support KIVY_WINDOW=x11