material-color-palette
Google's original 2014 Material Design color palettes as a Python library package.
Image showing all shades of all colors.
Generated with
extras/palette_image.py
Original source (scroll down to 2014 Material Design color palettes and expand).
Because I wanted to use the palette in my projects, but didn't want to copy-paste values, and couldn't find an existing implementation that was simple and complete.
Fully type-hinted and with a test suite.
Installation
Install from PyPI, e.g.:
pip install material-color-palette
Usage
>>> from material_color_palette import Color
>>> MY_COLOR = Color("red", 700)
>>> MY_COLOR
Color(name='red', shade=700, rgb=(211, 47, 47))
# Use RGB triplet representation in e.g. pygame/pygame-ce:
>>> MY_COLOR.rgb
(211, 47, 47)
# Use hex string representation in e.g. Matplotlib:
>>> MY_COLOR.hex
'#d32f2f'
# r, g, b properties should cover any other need:
>>> f"r={MY_COLOR.r / 255}, g={MY_COLOR.g / 255}, b={MY_COLOR.b / 255}, a=1.0"
'r=0.8274509803921568, g=0.1843137254901961, b=0.1843137254901961, a=1.0'
# Accent colours use the original notation, so shade value is a string
>>> Color("pink", "a100")
# You can use strings for non-accented colours too, if you want to be consistent
>>> Color("teal", "100")
# Useful, contextual error messages:
>>> Color("lime_green")
Traceback (most recent call last):
...
ValueError: 'lime_green' isn't a valid Material color name. Allowed values: 'amber',
'black', 'blue', 'blue gray', 'blue_gray', 'brown', 'cyan', 'deep orange', 'deep purple',
'deep_orange', 'deep_purple', 'gray', 'green', 'indigo', 'light blue', 'light green',
'light_blue', 'light_green', 'lime', 'orange', 'pink', 'purple', 'red', 'teal', 'white',
'yellow'.
>>> Color("lime")
Traceback (most recent call last):
...
ValueError: Shade must be specified for Material color 'lime'.
>>> Color("yellow", 950)
Traceback (most recent call last):
...
ValueError: 950 isn't a valid shade for Material color 'yellow'. Allowed values: 50,
100, 200, 300, 400, 500, 600, 700, 800, 900, 'a100', 'a200', 'a400', 'a700'.
>>> Color("gray", "a200")
Traceback (most recent call last):
...
ValueError: 'a200' isn't a valid shade for Material color 'gray'. Allowed values: 50,
100, 200, 300, 400, 500, 600, 700, 800, 900.
Metadata
Release files for material-color-palette 1.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| material_color_palette-1.2.0.tar.gz | 119.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| material_color_palette-1.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 126.7 kB
Release files / material_color_palette-1.2.0.tar.gz
| Download URL | material_color_palette-1.2.0.tar.gz |
|---|---|
| Size | 119.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
920327054df09af6b08cd4cab3283a80158afb5d291e9bc74ad2153ac9e5d294
|
|
BLAKE2b-256 checksum How to use checksums |
5a5e6f01be234afd96de9613ea568f08366cf2b9bef05abce652c2f3f905ca10
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / material_color_palette-1.2.0-py3-none-any.whl
| Download URL | material_color_palette-1.2.0-py3-none-any.whl |
|---|---|
| Size | 7.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a02279a98e372191ef9f870049ff4f8ad9f89a2db72281ee16ce883ade6a8365
|
|
BLAKE2b-256 checksum How to use checksums |
2dea8491bb6458ff133e4e84fcee0faeda37b64d27171fab1a39e2d4675e46c4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|