Skip to main content

Precision color conversion library (sRGB to Oklab/Oklch)

Project description

colorswan

colorswan is a precision color conversion library for Python, focused on converting sRGB to the perceptual color spaces Oklab and Oklch.

It provides accurate conversions using standard white points and matrices, suitable for color science, data visualization, and web design applications.

Installation

pip install colorswan

Usage

Basic Conversion (Hex to Oklab/Oklch)

from colorswan import OkColor

converter = OkColor()

# Convert from Hex
result = converter.convert("#FF0000") # Red
print(result)
# Output:
# {
#   'oklab': {'L': 0.6279..., 'a': 0.2248..., 'b': 0.1258...},
#   'oklch': {'L': 0.6279..., 'C': 0.2576..., 'h': 29.233...}
# }

Tuple Input

You can also pass RGB tuples (0-255).

# Convert from RGB Tuple
white = converter.convert((255, 255, 255))
print(white['oklab'])
# {'L': 1.0, 'a': 0.0, 'b': 0.0}

Using Constants

The library exposes standard color matrices and white points.

from colorswan import constants

print(constants.WHITE_POINT_D65)
# (0.95047, 1.0, 1.08883)

Features

  • Accurate: Implements the official Oklab matrices (sRGB -> Linear -> XYZ -> LMS -> Oklab).
  • Zero Dependencies: Pure Python implementation.
  • Easy to Use: Simple API for common color tasks.

License

MIT

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

colorswan-0.0.3.tar.gz (4.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

colorswan-0.0.3-py3-none-any.whl (4.8 kB view details)

Uploaded Python 3

File details

Details for the file colorswan-0.0.3.tar.gz.

File metadata

  • Download URL: colorswan-0.0.3.tar.gz
  • Upload date:
  • Size: 4.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.1

File hashes

Hashes for colorswan-0.0.3.tar.gz
Algorithm Hash digest
SHA256 3ddff4fa030b56e23ce34c80b96f611141b075ce6d0c3f7bcd49b5ec6ff6ff15
MD5 049034b5f400a016baba6c23c32d05d1
BLAKE2b-256 03391d27d5bfa6871560b0bd0492e3ed62f41919f69d724af013d94e28affdff

See more details on using hashes here.

File details

Details for the file colorswan-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: colorswan-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 4.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.1

File hashes

Hashes for colorswan-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 b65ec53d93f10b74ed5f244b2cc55782c5aa92495eb1d99d1eaf44d3d95b3901
MD5 186e9935205a25f6660c586df68cdecf
BLAKE2b-256 ea686faaa944280973a2eb1bcfe3d56b82141b35e2dcd9728b02f747db816fde

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page