Skip to main content

OKLCH color palette builder written in Python.

Project description

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

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

oklchcsspalette-1.2.3.tar.gz (5.9 kB view hashes)

Uploaded Source

Built Distribution

oklchcsspalette-1.2.3-py3-none-any.whl (7.2 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