distinctipy
A lightweight package for generating visually distinct colours.
Decision gist · record as of 2026-08-14
Yes, if you need to generate many visually distinct colors or work with color palettes programmatically. The package is lightweight, has no security vulnerabilities, and solves a specific problem well. Dormant maintenance is acceptable here because the core algorithm is stable and the package has no complex dependencies. Not necessary if you only need standard matplotlib colormaps or a small fixed palette.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.8 or later.
- Optional: matplotlib and pandas needed only if using color_swatch() or other visualization functions.
- Low friction: pure Python wheel with only numpy as a runtime dependency.
License · maintenance · safety
permissive license (permissive) — MIT License permits unrestricted use, modification, and distribution with only attribution and liability disclaimer required—no restrictions on commercial or private use.
last release 2024-01-10 (947 days) · last repo commit 2025-01-05 · 293 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 207,042 downloads/mo, #9,558 on PyPI
Alternatives
Verify before relying
pip install distinctipy
import distinctipy
colors = distinctipy.get_colors(36)
print(colors)- Whether the color distance metric and distinctness algorithm remain state-of-the-art or have been superseded by newer research.
- Real-world accuracy of colorblind simulation across different types of color vision deficiency.
What it is and what it does
distinctipy generates palettes of many visually distinct colors by iteratively adding each new color to maximize perceptual distance from existing ones in the palette. It wraps a color distance metric and provides utilities to work with the generated colors: converting them to matplotlib colormaps, selecting contrasting text colors for backgrounds, inverting colors, and simulating how they appear to people with different types of colorblindness.
The package is designed for applications that need more than the typical 20 colors available in standard qualitative colormaps. It depends only on numpy at runtime, making it lightweight to install. Optional dependencies (matplotlib, pandas) are needed only for visualization and examples. The code is stable and dormant rather than actively maintained, but suitable for the straightforward task it performs.
Use it for
- Generate a large color palette for a visualization with many categories or clusters that need distinct colors.
- Create a colormap for matplotlib plots when standard qualitative colormaps don't have enough distinct colors.
- Design interfaces or dashboards where many data series or groups must be color-coded and easily distinguishable.
- Simulate how a visualization appears to someone with colorblindness (e.g., Deuteranomaly) to ensure accessibility.
- Select a contrasting font color (black or white) automatically for any given background color in a UI.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need to generate many visually distinct colors or work with color palettes programmatically.
The package is lightweight, has no security vulnerabilities, and solves a specific problem well. Dormant maintenance is acceptable here because the core algorithm is stable and the package has no complex dependencies. Not necessary if you only need standard matplotlib colormaps or a small fixed palette.
Install
distinctipy on PyPI
Before you install
Low friction: pure Python wheel with only numpy as a runtime dependency. Maintenance is dormant (last release 2024-01-10, 947 days ago), but the repository is not archived and has 293 stars; suitable for stable utility code that doesn't require active development.
Requires Python 3.8 or later. Optional: matplotlib and pandas needed only if using color_swatch() or other visualization functions.
License in practice
MIT License permits unrestricted use, modification, and distribution with only attribution and liability disclaimer required—no restrictions on commercial or private use.
Quickstart
pip install distinctipy
import distinctipy
colors = distinctipy.get_colors(36)
print(colors)
Verify before relying
- Whether the color distance metric and distinctness algorithm remain state-of-the-art or have been superseded by newer research.
- Real-world accuracy of colorblind simulation across different types of color vision deficiency.
Package facts
| License | permissive license permissive |
| Python support | Supports the current Python release >=3.8 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 1 packagenumpy |
| Maintenance | Dormant 947 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 207,042 / month, #9,558 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Framework :: MatplotlibLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3Topic :: Multimedia :: GraphicsTopic :: Scientific/Engineering :: VisualizationTopic :: Utilities |
Evidence: distinctipy-1.3.4-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “generate distinct colors”
- distinctipyGenerates lists of visually distinct colors of any length, with each…
- colourmapGenerates unique RGB and HEX colors from input lists or colormaps,…
- crayonsCrayons provides colored text output for terminal applications by…
Give your agent the search over MCP, or paste the wish link into any chat.
More Utilities packages
Converts domain names between Unicode and ASCII-compatible encoding (Punycode) according to IDNA 2008 and Unicode Technical Standard 46, with security validation and broader script coverage than the standard library.
Install it if you work with internationalized domain names, need to validate domains, or use HTTP clients that depend on it transitively.
Detects and normalizes text encoding from unknown or ambiguous sources, supporting all IANA character sets that Python's core library provides codecs for, with the ability to register custom codecs.
Setuptools is a Python build backend and package management tool that handles building, distributing, and installing Python packages, including support for C/C++ extension modules.
Pluggy provides a plugin system that lets you define hook specifications and register implementations to be called in sequence, enabling extensible Python applications without tight coupling.
Install it if you're building an extensible application or framework.
Pygments is a syntax highlighter that colorizes source code and text in over 500 languages and formats, outputting to HTML, LaTeX, RTF, SVG, images, or ANSI terminal sequences.
Install it if you need to display or transform source code.
Six provides utility functions to write Python code that runs on both Python 2.7 and Python 3.3+, smoothing over language differences between the two versions.
See also colourmap · colorthief · colorcet · cmap · cmcrameri · palettable · colorspacious · cmweather · brewer2mpl · colour-science