Skip to main content

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

Project description

material-color-palette

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

Because I wanted to use the palettes in some of 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.

Project details


Download files

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

Source Distribution

material_color_palette-1.1.0.post1.tar.gz (26.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

material_color_palette-1.1.0.post1-py3-none-any.whl (6.7 kB view details)

Uploaded Python 3

File details

Details for the file material_color_palette-1.1.0.post1.tar.gz.

File metadata

  • Download URL: material_color_palette-1.1.0.post1.tar.gz
  • Upload date:
  • Size: 26.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.22 {"installer":{"name":"uv","version":"0.9.22","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Linux Mint","version":"22.2","id":"zara","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for material_color_palette-1.1.0.post1.tar.gz
Algorithm Hash digest
SHA256 020ac31837ea13a3a1c8613274b523fc7c7db0a3a9d4384cbad760cd37919240
MD5 a5360371e8ba35989e18d4605fb0681e
BLAKE2b-256 01eb1ffef7e8767bdf76ded92371cf1fd7bfd9c39c68403d0681cb9566d02138

See more details on using hashes here.

File details

Details for the file material_color_palette-1.1.0.post1-py3-none-any.whl.

File metadata

  • Download URL: material_color_palette-1.1.0.post1-py3-none-any.whl
  • Upload date:
  • Size: 6.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.22 {"installer":{"name":"uv","version":"0.9.22","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Linux Mint","version":"22.2","id":"zara","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for material_color_palette-1.1.0.post1-py3-none-any.whl
Algorithm Hash digest
SHA256 445311b921dd2d9bd24d2af7bf46e39523fe4a332d4388712f641f889ec0990f
MD5 64c3013fc269c46cf980b638bbf8c699
BLAKE2b-256 3028aeded503cef7ec0927f44b0c59a5ecfcc5c1c6abd6a6298b59459f1eae2d

See more details on using hashes here.

Supported by

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