Pepkio Bio-Safe Palette Tester
Scientific color palette accessibility tester and CIEDE2000 colorblind simulator for research figures and publications.
What It Does
The pepkio-bio-safe-palette-tester Python package tests categorical color palettes for color vision deficiency (CVD) accessibility and grayscale print legibility. It performs real-time protanopia, deuteranopia, and tritanopia simulations, detects perceptual contrast conflicts ($\Delta E < 10$), provides automated CIELAB hue/lightness fixes, and exports code snippets for R (ggplot2), Python (matplotlib/seaborn), and GraphPad Prism.
Features
- CVD Simulation Engine: Models protanopia, deuteranopia, tritanopia, and grayscale monochrome conversion.
- CIEDE2000 Metric: Calculates exact perceptual color distance ($\Delta E_{00}$) between all color pairs.
- Automated Palette Correction: Auto-adjusts lightness and saturation in CIELAB space to resolve low-contrast conflicts.
- Standard Scientific Presets: Built-in support for Okabe-Ito, Wong, Paul Tol, and Viridis palettes.
- Code Export: Direct code snippet generation for ggplot2, matplotlib, seaborn, and Prism.
- CLI & Python API: Usable as a command-line utility or scriptable Python library.
Installation
pip install pepkio-bio-safe-palette-tester
Or using uv:
uv add pepkio-bio-safe-palette-tester
Quick Example
from pepkio_bio_safe_palette_tester import PepkioClient
with PepkioClient() as client:
analysis = client.run({
"action": "analyze_palette",
"colors": ["#E69F00", "#56B4E9", "#009E73", "#F0E442", "#0072B2", "#D55E00"]
})
print("Status:", analysis.result.get("banner"))
print("Simulated Protanopia Colors:", analysis.result["simulations"][0]["colors"])
Typical Use Cases
- Journal Figure Preparation: Validate that UMAP, scatter plots, and survival curves comply with journal accessibility standards.
- Grayscale Verification: Ensure figures remain legible when printed in black and white.
- Theme Standardization: Standardize colorblind-safe color palettes across research teams.
Scientific Background
CVD simulations use psychophysically validated projection algorithms (Viénot 1999, Brettel 1997 via libDaltonLens). Color distances are evaluated using the CIE standard $\Delta E_{00}$ equation; pairs with $\Delta E_{00} < 10.0$ are flagged as perceptual hazards.
Web Application
For interactive swatch testing and sharing, an interactive web version is available.
Web Application: https://www.pepkio.com/tools/bio-safe-palette-tester
Documentation and Resources
- GitHub Repository: https://github.com/pepkio/pepkio-bio-safe-palette-tester
- Web Application: https://www.pepkio.com/tools/bio-safe-palette-tester
- PyPI Package: https://pypi.org/project/pepkio-bio-safe-palette-tester/
About Pepkio
Pepkio (https://www.pepkio.com/) develops software tools and bioinformatics solutions for life science researchers, including laboratory calculators and analysis services (https://www.pepkio.com/cro).
Keywords
bio-safe palette, colorblind safe, figure accessibility, CIEDE2000, protanopia, deuteranopia, tritanopia, grayscale figure, Okabe-Ito, Wong, Paul Tol, viridis, ggplot2 scale_color_manual, matplotlib colormap, seaborn accessible palette, GraphPad Prism color, scientific data visualization, UMAP colors, flow cytometry colors, heatmap accessibility, CIE LAB color difference, perceptual color contrast, laboratory figure design, manuscript figure, journal figure guidelines, open science accessibility, bioinformatic visualization tool
Metadata
Release files for pepkio-bio-safe-palette-tester 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| pepkio_bio_safe_palette_tester-0.1.0.tar.gz | 39.0 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pepkio_bio_safe_palette_tester-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 48.0 kB
Release files / pepkio_bio_safe_palette_tester-0.1.0.tar.gz
| Download URL | pepkio_bio_safe_palette_tester-0.1.0.tar.gz |
|---|---|
| Size | 39.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
dfdc805ea3d70085c9b735ac9a0065473864dccce98a74e152b8cda0120176b6
|
|
BLAKE2b-256 checksum How to use checksums |
8cfdcf26d65fd632edaf85777066bf554271027313a8c2a5df8ba103f6a34f4c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / pepkio_bio_safe_palette_tester-0.1.0-py3-none-any.whl
| Download URL | pepkio_bio_safe_palette_tester-0.1.0-py3-none-any.whl |
|---|---|
| Size | 9.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
84145c43782ec27b6545da27542c37106108575114e38fe434a032af1b9d7e16
|
|
BLAKE2b-256 checksum How to use checksums |
987fa7af9c10bbeff214d5727bcda639579bf7e7cfe585cfe3f1407c631396fa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Security for pepkio-bio-safe-palette-tester 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.