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 four 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.
pip install kivymd==0.104.2
How to install
If you want to install development version from master branch, you should specify link to zip archive:
pip install https://github.com/kivymd/KivyMD/archive/master.zip
<commit hash>.zip (eg
download KivyMD from specific commit.
Also you can install manually from sources. Just clone the project and run pip:
git clone https://github.com/kivymd/KivyMD.git --depth 1 cd KivyMD pip install .
Speed Tip: If you don't need full commit history (about 1.14 GiB), you can
use a shallow clone (
git clone https://github.com/kivymd/KivyMD.git --depth 1)
to save time. If you need full commit history, then remove
How to use with Buildozer
requirements = kivy==2.0.0, kivymd==0.104.2, sdl2_ttf == 2.0.15
This will download latest release version of KivyMD from PyPI.
If you want to use development version from master branch, you should specify link to zip archive:
requirements = kivy==2.0.0, https://github.com/kivymd/KivyMD/archive/master.zip
Do not forget to run
buildozer android clean or remove
before building if version was updated (Buildozer doesn't update already
On Windows 10
On Windows without WSL
- Install VirtualBox and follow steps from here.
Build automatically via GitHub Actions
- Use ArtemSBulgakov/buildozer-action@v1 to build your packages automatically on push or pull request.
- See full workflow example.
- See documentation at https://kivymd.readthedocs.io
- Wiki with examples of using KivyMD widgets: https://github.com/kivymd/KivyMD/wiki
Also we have Material Studies:
You can download apks for your smartphone: kivymd/storage (binaries branch).
Tutorials on YouTube
Comparison of Flutter & KivyMD
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)
- StackOverflow tag: kivymd
- Email: email@example.com
We recommend you to use PyCharm to work with KivyMD code. Install Kivy and development dependencies to your virtual environment:
pip install -e .[dev,docs] pre-commit install
Format all files and run tests:
pre-commit run --all-files pytest kivymd/tests --timeout=300 --cov=kivymd --cov-report=term
pre-commit will format modified files with Black and sort imports with isort.
Additional extensions for the KivyMD library.
Build apps visually.
- KivyMD is released under the terms of the MIT License, same as Kivy.
- Roboto font is licensed and distributed under the terms of the Apache License, Version 2.0.
- Iconic font by the Material Design Icons community covered by SIL Open Font License 1.1
They spent a lot of time to improve KivyMD.
- Yuri Ivanov @HeaTTheatR - Core developer
- Artem Bulgakov @ArtemSBulgakov - Technical administrator, contributor
- Andrés Rodríguez @mixedCase - First author of KivyMD project, contributor
This project exists thanks to all the people who contribute. How to contribute
Become a financial contributor on OpenCollective and help us sustain our community.
Become a Gold Sponsor and get your logo on our Readme with a link to your website.
Become a Backer if you want to help develop this project.
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.