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 details)

Uploaded Source

Built Distribution

oklchcsspalette-1.2.3-py3-none-any.whl (7.2 kB view details)

Uploaded Python 3

File details

Details for the file oklchcsspalette-1.2.3.tar.gz.

File metadata

  • Download URL: oklchcsspalette-1.2.3.tar.gz
  • Upload date:
  • Size: 5.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.10.12 Linux/5.15.90.1-microsoft-standard-WSL2

File hashes

Hashes for oklchcsspalette-1.2.3.tar.gz
Algorithm Hash digest
SHA256 98c5d72a3dce2866442104cf38db625aff184ca288273f5124318503d3adb97d
MD5 0ff2fcc5bce0229ec43671bd57d2817e
BLAKE2b-256 a4b254e92ad550424488bc9cbce4d92fbc4dc8b19455a499a0df61bb2352f47d

See more details on using hashes here.

File details

Details for the file oklchcsspalette-1.2.3-py3-none-any.whl.

File metadata

  • Download URL: oklchcsspalette-1.2.3-py3-none-any.whl
  • Upload date:
  • Size: 7.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.10.12 Linux/5.15.90.1-microsoft-standard-WSL2

File hashes

Hashes for oklchcsspalette-1.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 f39debf0ae7357f92d6591bea6cc051524a48e9dac42564069fb205fda09b2cd
MD5 60dde43398b9222788bef193fdf47230
BLAKE2b-256 0814f8c99cfd6c2d2a655c4b9bdc4bbb12891934e0226280ac8b3001dc391a3c

See more details on using hashes here.

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