Skip to main content

palettes

Pure-Python, zero-dependency color palette toolkit

palettes provides pre-computed, display-ready and integer-indexed color lookup tables for any Python environment. It has zero dependencies on any other PyDevices library or external package, running identically on MicroPython, CircuitPython, CPython (desktop/server), and PyScript (Web).

Universal Color Tooling

While palettes integrates seamlessly with PyDevices displays, it is a standalone utility useful for any Python project needing easy-to-access named and indexed palettes, including:

  • Embedded & Hardware: RGB565 displays, addressable LEDs / NeoPixels, status indicators.
  • Terminal & CLI Tools: ANSI terminal formatting, logs, status alerts.
  • Data & Charts: Consistent categorical and sequential color mapping.
  • Theme Engines: Swappable UI color palettes with human-readable color names.

Palette Types & Previews

1. Color Wheel ("wheel")

Generates a smooth, continuous HSV-based color spectrum. Ideal for color pickers, circular progress rings, and continuous gradient animations:

from palettes import get_palette

# 360-step full saturation color wheel (16-bit RGB565)
wheel = get_palette(name="wheel", length=360, saturation=1.0, color_depth=16)
color = wheel[180]  # get color at hue angle 180°

Color Wheel Preview


2. Material Design ("material_design")

A curated collection of modern UI colors based on Google's Material Design palette:

material = get_palette(name="material_design", color_depth=16)
primary_color = material[0]
color_name = material.color_name(0)  # e.g., "Red 500"

Material Design Preview


3. Color Cube ("cube")

A structured 3D RGB color cube mapped into a discrete indexed palette. Excellent for retro imaging and color-space mapping:

cube = get_palette(name="cube", size=5, color_depth=16)

Color Cube Preview


4. Named Windows-16 ("default")

The classic 16 standard system colors:

win16 = get_palette(name="default", color_depth=16)
navy = win16[1]  # Black, Navy, Blue, Green, Teal, Lime, Cyan, etc.

Windows-16 Preview


Quick Start: Painting on a Display

import board_config
from palettes import get_palette

display_drv = board_config.display_drv
palette = get_palette(name="wheel", length=display_drv.width, color_depth=16)

# Draw a full-width color spectrum band
for x in range(display_drv.width):
    display_drv.fill_rect(x, 0, 1, 40, palette[x])

display_drv.show()

Installation

import mip
mip.install("palettes", index="https://PyDevices.github.io/mip")
pip install -i https://test.pypi.org/simple/ \
  --extra-index-url https://pypi.org/simple/ pydevices-palettes

Full options: docs/index.md.

Links & Demos

License

MIT — see LICENSE.

Download files

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

Source Distribution

pydevices_palettes-0.0.12.tar.gz (15.9 kB view details)

Uploaded Source

Built Distribution

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

pydevices_palettes-0.0.12-py3-none-any.whl (17.0 kB view details)

Uploaded Python 3

File details

Details for the file pydevices_palettes-0.0.12.tar.gz.

File metadata

  • Download URL: pydevices_palettes-0.0.12.tar.gz
  • Upload date:
  • Size: 15.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.6

File hashes

Hashes for pydevices_palettes-0.0.12.tar.gz
Algorithm Hash digest
SHA256 ad48627cfbfa2a507531af76becd25c54d37d3a674d82674dd37fc5a4cbee6e7
MD5 41efb86b4e16d44567acd4dcd817cf91
BLAKE2b-256 e6854015fffbbbcac233065f9303709e38e959b494e9f5bb6b91bc06ef920fb7

See more details on using hashes here.

File details

Details for the file pydevices_palettes-0.0.12-py3-none-any.whl.

File metadata

File hashes

Hashes for pydevices_palettes-0.0.12-py3-none-any.whl
Algorithm Hash digest
SHA256 36ad9c0639fc578273057cf26e7db78930d8afe67014fd5c71d96218a57d3fe9
MD5 a04be72231855fa2d5c9832036f7c0db
BLAKE2b-256 7c954c16c0269a870ab296333837cc72ec0aba9fb2d2d60c370b86298ce8eacb

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.0.12 This release

2 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