Skip to main content

material-color-palette

Google's original 2014 Material Design color palettes as a Python library package.

Image showing all shades of all colors. 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)

Source distribution for material-color-palette 1.2.0
File Size Uploaded
material_color_palette-1.2.0.tar.gz 119.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for material-color-palette 1.2.0
File Interpreter ABI Platform
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}

Release history Release notifications | RSS feed

This release

1.2.0 This release

2 release files

1.1.0

2 release files

1.0.0

2 release files

0.4.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page