Skip to main content

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

Project description

KivyMD 0.104.2

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.

PyPI version Supported Python versions Downloads Code style: Black

Discord Twitter YouTube Habr StackOverflow Open Collective

Coverage status Build workflow Test workflow Build demos workflow Documentation status Repository size

Installation

pip install kivymd==0.104.2

Dependencies:

How to install

Command above will install latest release version of KivyMD from PyPI.

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

Tip: Replace master.zip with <commit hash>.zip (eg 51b8ef0.zip) to 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 --depth 1.

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 .buildozer directory before building if version was updated (Buildozer doesn't update already downloaded packages).

On Linux

On Windows 10

On Windows without WSL

  • Install VirtualBox and follow steps from here.

Build automatically via GitHub Actions

Documentation

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): kivymd/storage (binaries branch).

Also we have Material Studies:

You can download apks for your smartphone: kivymd/storage (binaries branch).

Tutorials on YouTube

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

Comparison of Flutter & KivyMD

Support

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

Settings

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

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.

Setup environment

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.

Sister projects

KivyMD Extensions

Additional extensions for the KivyMD library.

https://github.com/kivymd-extensions

KivyMDBuilder

Build apps visually.

https://github.com/kivymd/KivyMDBuilder

License

Contributors

KivyMD Team

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

Code Contributors

This project exists thanks to all the people who contribute. How to contribute

Financial Contributors

Become a financial contributor on OpenCollective and help us sustain our community.

Gold Sponsors

Become a Gold Sponsor and get your logo on our Readme with a link to your website.

Backers

Become a Backer if you want to help develop this project.

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.104.2.tar.gz (2.2 MB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: kivymd-0.104.2.tar.gz
  • Upload date:
  • Size: 2.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.0 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.7.9

File hashes

Hashes for kivymd-0.104.2.tar.gz
Algorithm Hash digest
SHA256 97bc1f9442d25ff9dbd617d5ca74d53e757b92c68636a388e22d3f05a4f19c12
MD5 ee0d7366ae2a0f5326deecc53c2c9cc3
BLAKE2b-256 fd195b6418474f860534482f1e261fbebd976cc9c7b75fa59cefb557cf257e7e

See more details on using hashes here.

Provenance

File details

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

File metadata

  • Download URL: kivymd-0.104.2-py3-none-any.whl
  • Upload date:
  • Size: 2.3 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.0 requests/2.24.0 setuptools/50.3.0 requests-toolbelt/0.9.1 tqdm/4.51.0 CPython/3.7.9

File hashes

Hashes for kivymd-0.104.2-py3-none-any.whl
Algorithm Hash digest
SHA256 c1fbbdaa31b62fa925abac1cadadfdf178a15f1adc3f2e2452e1496a91eab8e1
MD5 cc95cd0eb90ec1d3ec5afbf364b2fe28
BLAKE2b-256 21512b30e33ba7a75211f9b1830c7802f9fc0281da8b266f8348d0e08d558d27

See more details on using hashes here.

Provenance

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