Metadata-Version: 2.4
Name: materialshapes
Version: 0.3
Summary: Material shapes in pure python.
Author-email: Ansh Dadwal <anshdadwal298@gmail.com>
License-Expression: MIT
Requires-Python: >3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: kivy
Requires-Dist: pycairo
Requires-Dist: pillow
Dynamic: license-file

# materialshapes-python
<p align="center">
  <img src="https://firebasestorage.googleapis.com/v0/b/design-spec/o/projects%2Fgoogle-material-3%2Fimages%2Fm0c35amt-1.png?alt=media&token=ab563092-217d-4d71-986d-1b4d87b5ba3e" width="50%">
</p>

A complete Python port of the official Material Design 3 shape system from Android. It includes rounded polygon generation, shape morphing, and smooth transitions based on Google's original Java source.

Uses pycairo for 2D graphics rendering. Can be used with Python GUI libraries. A Kivy widget is already included.

[Material Design Shape System](https://m3.material.io/styles/shape/overview-principles)


## Docs

There is no separate documentation yet.

The examples serve as the documentation and cover all major features.
Check them out to understand usage and integration.

## Install

You can easily install it from pip by executing:
```console
pip3 install materialshapes --upgrade
```

## Examples


File: `kivy.py`

Run using:
```
python3 -m examples.kivy
```

https://github.com/user-attachments/assets/31c2ae03-9be8-4a34-b95d-b7e7219773b1


File: `loading_indicator.py`

Run using:
```
python3 -m examples.loading_indicator
```


https://github.com/user-attachments/assets/c52553f1-c4f0-4af1-8360-f72acfd78949
