KivyMD is a collection of Material Design compliant widgets for use with Kivy, a framework for cross-platform, touch-enabled graphical applications.
The project's goal is to approximate Google's Material Design spec as close as possible without sacrificing ease of use or application performance.
This library is a fork of the KivyMD project the author of which stopped supporting this project three years ago. We found the strength and brought this project to a new level.
Currently we're in alpha status, so things are changing all the time and we cannot promise any kind of API stability. However it is safe to vendor now and make use of what's currently available.
Join the project! Just fork the project, branch out and submit a pull request when your patch is ready. If any changes are necessary, we'll guide you through the steps that need to be done via PR comments or access to your for may be requested to outright submit them.
If you wish to become a project developer (permission to create branches on the project without forking for easier collaboration), have at least one PR approved and ask for it. If you contribute regularly to the project the role may be offered to you without asking too.
Full documentation yet. Some examples of using KivyMD widgets can be found in our Wiki and in the code of the demo applications
If you need assistance or you have a question, you can ask for help on our mailing list:
- Discord server (priority): https://discord.gg/wu3qBST (English #support, Russian #ru-support)
- VK group: https://vk.com/kivy_development (Russian)
- Google group: https://groups.google.com/forum/#!categories/kivymd-users-support (English)
- Email: kivydevelopment@gmail.com
- Kivy >= 1.10.1
- PIL
- Python 3 (Python 2 not supported)
To install KivyMD, clone the project and run the setup.py script. The following line works on Linux and Mac OS, other OSes not tested:
sudo python ./setup.py install
or
sudo pip3 install kivymd
If you want to use KivyMD with buildozer, in your buildozer.spec's requirements line you should add the full git HTTPS address, like this example:
requirements = kivy==master, kivymd
Android 6.0 and higher kitchen_sink-0.98.4-x86.apk or kitchen_sink-0.98.4-armeabi-v7a.apk
Packages for Android are built according to the following instructions:
-
Download XUbuntu 18.04
-
Create a new virtual machine based on the downloaded image of XUbuntu
-
Start the XUbuntu virtual machine, open the browser and download this bash script:
Add execution permissions:
chmod +x install-kivy-buildozer-dependencies.sh
...and run script:
./install-kivy-buildozer-dependencies.sh
-
Run the script - it will install all the necessary libraries and tools for creating packages for Android
-
Done! Now you have a virtual machine for building Kivy application packages!
Or see the instructions here.
- All classes with the
Behavior
prefix are now placed in thekivymd/behaviors
directory - All uix modules moved to kivymd.uix module.
- All widgets that usually used in kv-lang are automatically added to Factory. You don't need to #:import them. Remove all your imports.
- Changed font styles:
Old | New |
---|---|
Icon | Icon |
- | Overline |
Caption | Caption |
Button | Button |
Body2 | Body2 |
Body1 | Body1 |
- | Subtitle2 |
Subhead | Subtitle1 |
Title | H6 |
Headline | H5 |
Display1 | H4 |
Display2 | H3 |
Display3 | H2 |
Display4 | H1 |
- Colors
BlueGrey
andGrey
renamed toBlueGray
andGray
(for better fit MD spec)
Creator Kivy Project - Wizard for creating a new project for applications written using the Kivy framework
MIT License, same as Kivy.
Roboto font is licensed and distributed under the terms of the Apache License, Version 2.0.
Icons by the Material Design Icons community covered by SIL Open Font License 1.1