Set of widgets for Kivy inspired by Google's Material Design
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 beta 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.
See documentation at https://kivymd.readthedocs.io/en/latest/?badge=latest
Wiki with examples of using KivyMD widgets: https://github.com/HeaTTheatR/KivyMD/wiki
Kitchen sink app demonstrates every KivyMD widget. You can see how to use widget in code of app. You can download apk for your smartphone (Android 6.0 and higher): kitchen_sink-0.102.1-x86.apk or kitchen_sink-0.103.0-armeabi-v7a.apk.
Tutorials on YouTube
If you need assistance or you have a question, you can ask for help on our mailing list:
- Discord server: https://discord.gg/wu3qBST (English #support, Russian #ru-support)
- Email: firstname.lastname@example.org
How to install
You can install latest release version of KivyMD from PyPI:
python3 -m pip install kivymd
If you want to install development version from master branch, you should specify git HTTPS address:
# Master branch: python3 -m pip install git+https://github.com/HeaTTheatR/KivyMD.git # Specific branch: python3 -m pip install git+https://github.com/HeaTTheatR/KivyMD.git@stable # Specific tag: python3 -m pip install git+https://github.com/HeaTTheatR/KivyMD.email@example.com # Specific commit: python3 -m pip install git+https://github.com/HeaTTheatR/KivyMD.git@f80d9c8b812d54a724db7eda30c4211d0ba764c2 # If you already has installed KivyMD python3 -m pip install --force-reinstall git+https://github.com/HeaTTheatR/KivyMD.git
Also you can install manually from sources. Just clone the project and run the setup.py script:
python3 ./setup.py install
How to use with Buildozer
requirements = kivy==1.11.1, kivymd
This will download latest release version from PyPI. If you want to use master branch, you should write the full git HTTPS address, like this example:
# Master branch: requirements = kivy==1.11.1, git+https://github.com/HeaTTheatR/KivyMD.git # Specific branch: requirements = kivy==1.11.1, git+https://github.com/HeaTTheatR/KivyMD.git@master # Specific tag: requirements = kivy==1.11.1, git+https://github.com/HeaTTheatR/KivyMD.firstname.lastname@example.org # Specific commit: requirements = kivy==1.11.1, git+https://github.com/HeaTTheatR/KivyMD.git@f80d9c8b812d54a724db7eda30c4211d0ba764c2
Do not forget to remove
buildozer directory before building if version was updated (Buildozer doesn't update already downloaded packages).
Building with VM
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, download this bash script, add execution permissions and run script:
wget https://github.com/HeaTTheatR/KivyMD-data/raw/master/install-kivy-buildozer-dependencies.sh chmod +x install-kivy-buildozer-dependencies.sh ./install-kivy-buildozer-dependencies.sh
- Script 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.
API Breaking changes
- Changed MDExpansionPanel panel creation
- Changed the use of the MDDropdownMenu
- Changed the use of the MDDropDownItem
- Changed the use of the MDDialog
If you want to support development or become a sponsor of the project, you can make a donation at https://opencollective.com/kivymd
- Creator Kivy Project - Wizard for creating a new project for applications written using the Kivy framework
Release history Release notifications | RSS feed
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size||File type||Python version||Upload date||Hashes|
|Filename, size kivymd-0.104.1-py3-none-any.whl (2.4 MB)||File type Wheel||Python version py3||Upload date||Hashes View|
|Filename, size kivymd-0.104.1.tar.gz (2.3 MB)||File type Source||Python version None||Upload date||Hashes View|