Skip to main content

Python library to calculate and modulate color contrasts according to WCAG2.1

Project description

color-contrast

A python library to calculate and modulate color contrasts according to WCAG2.1

PyPI - Version GitHub Tag GitHub Issues or Pull Requests

Usage

Install color-contrast into your python environment, using:

pip install color-contrast

After installing, you can use the project as follows:

from colour import Color

from color_contrast import AccessibilityLevel, check_contrast

bg = Color("#123456")

check_contrast("#404040", bg, level=AccessibilityLevel.AA18)  # True

check_contrast("#404040", bg, level=AccessibilityLevel.AA)  # False

check_contrast("white", bg, level=AccessibilityLevel.AAA)  # True

check_contrast(Color(hsl=(1, 1, 1)), bg)  # True

Or if you want to modulate the colors automatically:

from color_contrast import modulate, ModulationMode

modulate("5d3eb2", "5d3eb2", mode=ModulationMode.BOTH)
# Returns:
# <Color: #32215f>, <Color: #9e89d6>, true

This example used the same foreground and background color, this is the before and after:

Before After

Contributing

To set the development environment up, follow the following steps. Make sure you have poetry installed.

# Clone the repository
git clone git@github.com:ZugBahnHof/color-contrast.git

cd color-contrast

# Activate the virtual environment
poetry shell

# Install the requirements
poetry install

# Activate the commit hooks
pre-commit install 

Useful commands:

# Run the linter
ruff check

# Reformat
ruff check --fix
ruff format

# Run the test cases
python -m unittest tests

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

color_contrast-0.1.0.tar.gz (2.8 kB view hashes)

Uploaded Source

Built Distribution

color_contrast-0.1.0-py3-none-any.whl (3.4 kB view hashes)

Uploaded Python 3

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