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.5.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.5-py3-none-any.whl (4.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: colorswan-0.0.5.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.5.tar.gz
Algorithm Hash digest
SHA256 0e1fd0925d0ca4b472f777cb679e19f79f8a877d54c61b3b6530ea9594482904
MD5 3b35da726b3fbc7283310a33cb9c927a
BLAKE2b-256 06c67a25ad34afaed6f5606e5510dcf1c6cd508bf71e25a8ec449a14d18b7acc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: colorswan-0.0.5-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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 9fd2533d5f8a25faa770e812174d08dd4d224f9243485ccc477c2724d32453a6
MD5 dd8b04687c223c0160b74d7f122ae345
BLAKE2b-256 25344bddd1a8bd1b84f50c2275ef8dc20d167970711639a83f59690e2d922321

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