Skip to main content

Set of widgets for Kivy inspired by Google's Material Design

Project description

KivyMD v0.102.1 - Alpha

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.

Latest version on PyPI Supported Python versions Downloads Code style: Black Build status Discord server

Documentation

Wiki

No complete documentation yet. Our Wiki contains some examples of using KivyMD widgets.

Demos

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.98.4-x86.apk or kitchen_sink-0.98.4-armeabi-v7a.apk.

Another demo applications contain some useful GUI examples.

Tutorials on YouTube

Tutorials by Erik Sandberg show you how to create application with KivyMD and use its widgets.

Support

If you need assistance or you have a question, you can ask for help on our mailing list:

Installation

Dependencies:

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.git@0.100.2
# 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.git@0.100.2
# 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.

Settings

Syntax highlighting and auto-completion for Kivy/KivyMD .kv files in PyCharm/Intellij IDEA

API Breaking changes

  • App object should be inherited from kivymd.app.MDApp. See wiki for example and more information: Material App on KivyMD wiki.
  • All classes with the Behavior prefix moved to kivymd.uix.behaviors module.
  • 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 from kv files.
  • Replaced MDAccordion and MDAccordionListItem with MDExpansionPanel.
  • Changed font styles:
Old New
Icon Icon
- Overline
- Subtitle2
Subhead Subtitle1
Title H6
Headline H5
Display1 H4
Display2 H3
Display3 H2
Display4 H1
  • Colors BlueGrey and Grey renamed to BlueGray and Gray

Video preview

Image preview

Contributing

We always welcome your Bug reports, Feature requests and Pull requests! Check out CONTRIBUTING.md and feel free to improve KivyMD.

Sister projects

  • Creator Kivy Project - Wizard for creating a new project for applications written using the Kivy framework

License

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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kivymd-0.102.1.tar.gz (2.3 MB view details)

Uploaded Source

Built Distribution

kivymd-0.102.1-py3-none-any.whl (2.3 MB view details)

Uploaded Python 3

File details

Details for the file kivymd-0.102.1.tar.gz.

File metadata

  • Download URL: kivymd-0.102.1.tar.gz
  • Upload date:
  • Size: 2.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.40.0 CPython/3.7.1

File hashes

Hashes for kivymd-0.102.1.tar.gz
Algorithm Hash digest
SHA256 a49e58ea231d42b2cba8be747979cf5f9751dbf3528bc650874b0b880f439bac
MD5 1fd5dc51cde8ae98c7af367ba5e1c455
BLAKE2b-256 c26ab38fb717692f8bb8d80ca6531c1345f44d2fe6e211c602443c82c9747d6d

See more details on using hashes here.

File details

Details for the file kivymd-0.102.1-py3-none-any.whl.

File metadata

  • Download URL: kivymd-0.102.1-py3-none-any.whl
  • Upload date:
  • Size: 2.3 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.40.0 CPython/3.7.1

File hashes

Hashes for kivymd-0.102.1-py3-none-any.whl
Algorithm Hash digest
SHA256 574adeb3935cc189f854294c754158e91641ed1657e4f7811879071a9afc0d8f
MD5 5025805ac850418f23b2de3adb0f41bc
BLAKE2b-256 e69a46b9bce27989abcb8905b0eededf18974e329cebb07335b690dbc26ee58c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page