Skip to main content

A Python library for extracting color palettes from images.

Project description

Pylette

Welcome to Pylette, the easy-to-use Python library for extracting color palettes from images!

PyPI version Downloads Built with Material for MkDocs Dependabot


Documentation: qtiptip.github.io/Pylette

Source code: qTipTip/Pylette


What is Pylette?

Pylette is a powerful yet user-friendly library designed to help you extract color palettes from images. Whether you're working on computer graphics, visualizations, or generative art, Pylette makes it easy to create visually appealing color sets.

Key features:

  • Extract color palettes from images
  • Support for various color modes (RGB, RGBa, HSV, etc.)
  • Random color selection from palettes
  • Command-line interface for quick palette extraction

Getting Started

Installation

You can easily install Pylette using pip:

pip install Pylette

Or if you prefer using Poetry:

poetry add Pylette

Quick Start Guide

Here's how to extract a color palette from an image and work with it in Python:

from Pylette import extract_colors

palette = extract_colors(image='image.jpg', palette_size=10)
# Access colors by index
most_common_color = palette[0]
least_common_color = palette[-1]

# Get color information
print(most_common_color.rgb)
print(most_common_color.hls)
print(most_common_color.hsv)

# Display the palette, and save the image to file
palette.display(save_to_file=True)

# Save palette's color values to CSV
palette.to_csv(filename='color_palette.csv', frequency=True)

# Pick random colors
random_color = palette.random_color(N=1, mode='uniform')
random_colors = palette.random_color(N=100, mode='frequency')

This will give you a palette of 10 colors, sorted by frequency. The image is automatically resized to 256x256 pixels for faster processing. See the documentation for a complete list of available methods and attributes.

Command Line Interface:

Pylette also comes with a command-line interface for quick palette extraction:

 pylette --help

 Usage: pylette [OPTIONS]

╭─ Options ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ --filename                                     PATH                   [default: None]                                                                                                                                                  │
│ --image-url                                    TEXT                   [default: None]                                                                                                                                                  │
│ --mode                                         [KM|MC]                [default: KM]                                                                                                                                                    │
│ --n                                            INTEGER                [default: 5]                                                                                                                                                     │
│ --sort-by                                      [frequency|luminance]  [default: luminance]                                                                                                                                             │
│ --stdout                --no-stdout                                   [default: stdout]                                                                                                                                                │
│ --out-filename                                 PATH                   [default: None]                                                                                                                                                  │
│ --display-colors        --no-display-colors                           [default: no-display-colors]                                                                                                                                     │
│ --colorspace                                   [rgb|hsv|hls]          [default: rgb]                                                                                                                                                   │
│ --install-completion                                                  Install completion for the current shell.                                                                                                                        │
│ --show-completion                                                     Show completion for the current shell, to copy it or customize the installation.                                                                                 │
│ --help                                                                Show this message and exit.                                                                                                                                      │
╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

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

pylette-4.0.0.tar.gz (8.4 kB view details)

Uploaded Source

Built Distribution

pylette-4.0.0-py3-none-any.whl (10.7 kB view details)

Uploaded Python 3

File details

Details for the file pylette-4.0.0.tar.gz.

File metadata

  • Download URL: pylette-4.0.0.tar.gz
  • Upload date:
  • Size: 8.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for pylette-4.0.0.tar.gz
Algorithm Hash digest
SHA256 370e6865ab1784367c5dbf7c6652d35853397b2a4a0cec1841d14fd45ba42b40
MD5 6704a009346587c88254662bbd582f17
BLAKE2b-256 299c73bd013c5730a0de5a3b7f8f5358efa607c9bb0d08f61b4effbe293592b7

See more details on using hashes here.

File details

Details for the file pylette-4.0.0-py3-none-any.whl.

File metadata

  • Download URL: pylette-4.0.0-py3-none-any.whl
  • Upload date:
  • Size: 10.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for pylette-4.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6d682b3bc6e93bac180ef481dff7e1fef886d085f4526c9bf168a3c4954ae950
MD5 9f5a2c38de66621fd6bed71f4821becb
BLAKE2b-256 702423687569b79f076259c538df3c4e422d01e102020d359e76c5b40bf601c5

See more details on using hashes here.

Supported by

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