col

colorpedia

Command-line tool for looking up colors and palettes.

Showing:

Popularity

Downloads/wk

0

GitHub Stars

271

Maintenance

Last Commit

1mo ago

Contributors

4

Package

Dependencies

1

License

Categories

Readme

Colorpedia

Command-line tool for quickly looking up colors, shades and palettes.

Requirements

  • Modern terminal with true color and utf-8 support (e.g. Windows Terminal, PowerShell, iTerm2, Terminator)
  • Python 3.7+

Installation

Install via pip:

pip install colorpedia

Add the following line in .bashrc/.zshrc to enable autocompletion (recommended):

source <(color -- --completion)

Restart your shell to use the color command:

color --help

Usage

Look up colors using various color models:

color name green            # CSS3 color name
color hex FFFFFF            # hex code without the hash (#) prefix
color rgb 255 255 255       # RGB (Red Green Blue)
color hsl 360 100 100       # HSL (Hue Saturation Lightness)
color hsv 360 100 100       # HSV (Hue Saturation Brightness)
color cmyk 100 100 100 100  # CMYK (Cyan Magenta Yellow Black)

Use --shades to display different shades of a color:

color name green --shades    # Display 15 colors by default
color hex FFFFFF --shades=5  # Display 5 shades

Look up color palettes:

color palette molokai
color palette blue
color palette kelly

Control output with global flags:

color name yellow --all      # Display all details
color name yellow --json     # Display in JSON format
color name yellow --units    # Display unit symbols
color name yellow --nojson   # Do not display in JSON
color name yellow --nounits  # Do not display unit symbols

Combine with other commands/tools like jq:

color palette molokai | cut -d'|' -f 2,3,4
color name blue --range --json | jq .[0].name

Configuration

Initialize the configuration file to customize CLI behavior:

color config init

This creates ~/.config/colorpedia/config.json with default settings:

{
  // Always display in JSON format. Use with --nojson flag.
  "always_output_json": false, 
  // Suffix for approximate color names (e.g. "green (approx)").
  "approx_name_suffix": " (approx)",
  // Default number of shades displayed when --shades is used without a count.
  "default_shades_count": 15,
  // Display degrees angle (°) symbol. Use with --nounits flag.
  "display_degree_symbol": false,
  // Display percentage (%) symbol. Use with --nounits flag.
  "display_percent_symbol": false,
  // Height of the color box displayed in single-color (get) view.
  "get_view_color_height": 10,
  // Width of the color box displayed in single-color (get) view.
  "get_view_color_width": 20,
  // Keys displayed in single-color (get) view.
  "get_view_keys": [
    "rgb",
    "cmyk",
    "hex",
    "name",
    "color",
    "hsl",
    "hsv"
  ],
  // Keys displayed in JSON view. 
  "json_keys": [
    "rgb",
    "cmyk",
    "hex",
    "is_name_exact",
    "name",
    "hsl",
    "hsv"
  ],
  // Width of the color box displayed in multi-color (list) view.
  "list_view_color_width": 20,
  // Keys displayed in multi-color (list) view. 
  "list_view_keys": [
    "rgb",
    "hex",
    "name",
    "color",
    "hsv"
  ],
  // Always uppercase hex codes if set to true, lowercase if set to false.
  "uppercase_hex_codes": true
}

Handy commands to view and edit the configuration file:

color config show  # Display configuration
color config edit  # Edit configuration via a text editor

Technical Notes

  • Names of "unknown" colors are approximated using minimum RGB delta:
    delta = (R1 - R2) ^ 2 + (G1 - G2) ^ 2 + (B1 - B2) ^ 2
    
    If there is are ties, all names are included in the output.
  • Percentage values use 0 - 100 scale by default, 0 - 1 scale in JSON.
  • Degree angles use 0 - 360 scale by default, 0 - 1 scale in JSON.
  • Percent and degree unit symbols are omitted in JSON.
  • If HSV/HSL/CMYK values do not map exactly to an RGB triplet, they are rounded to the nearest.

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100