Skip to content

CHRIBUR0309/OKLCH_CSS_Palette_Builder

Repository files navigation

OKLCH_CSS_Palette_Builder

PyPI - Python Version PyPI - Version CI Python package CodeQL codecov Code style: black GitHub repo size Codacy Badge

You can make OKLCH CSS palettes by using this!

What is this?

This is a Python library which makes OKLCH CSS palettes. OKLCH is a perceptually uniform color space designed by Björn Ottosson in 2020 (you can read his blog). You can use it as CSS Color Module Level 4 with the most of modern browsers (check Can I Use...).

Although we can use OKLCH Color Picker & Converter, I think it is not easy to use because the surface of OKLCH is not flat. So I wrote this library for CSS developers.

Installation

For Pip:

pip install oklchcsspalette

For Poetry:

poetry add oklchcsspalette

How to use?

With Python >= 3.9, you can use this library as below.

from sys import argv

from oklchcsspalette import OklchCssPaletteBuilder


def main():
    attributes = tuple(map(int, argv[1:7]))
    ocpb = OklchCssPaletteBuilder(*attributes)
    ocpb.make_css(argv[7])


if __name__ == "__main__":
    main()

The attributes are int values needed to calcurate chromas on OKLCH space.

The argv[7] is a CSS file path. It must ends with ".css" (upper cases are ok).

Contrast ratio with srgb

For the web accessibility, the necessary minimum of the diffs of lightnesses are below.

  • At least 3:1 (Level AA of large scale of text) -> 35
  • At least 4.5:1 (Level AA of text or Level AAA of large scale of text) -> 45
  • At least 7:1 (Level AAA of text) -> 55

I calculated these values on a gray scale (chroma = 0). I have not checked on other colors (chroma > 0), but I think I will get similar results.

With p3 and rec2020, a contrast ratio is not defined, but I think we can use these values.

License

MIT License

Attention

  • This library does not yield Tailwind CSS color names.
  • This library outputs duplicated colors; black and white.

Links

About

OKLCH color palette builder written in Python.

Resources

License

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages