{"id":9614,"library":"colorspacious","title":"Colorspacious","description":"Colorspacious is a Python library providing robust and accurate tools for colorspace conversions. It supports a wide range of standard colorspaces (sRGB, CIELab, CIELCh, etc.) and is built to handle numerical data efficiently, especially with NumPy arrays. The current version is 1.1.2, but development has been inactive since 2018, placing it in an abandoned state.","status":"abandoned","version":"1.1.2","language":"en","source_language":"en","source_url":"https://github.com/njsmith/colorspacious","tags":["color","colorspace","conversion","CIE","LAB","LCH","sRGB","numerical"],"install":[{"cmd":"pip install colorspacious","lang":"bash","label":"Install stable release"}],"dependencies":[{"reason":"Required for core numerical operations and efficient array processing.","package":"numpy","optional":false}],"imports":[{"symbol":"cspace_convert","correct":"import colorspacious as cs\ncs.cspace_convert(...)"},{"note":"Direct conversion functions like CIELCh_from_CIELab were removed in v1.0.0. Use cspace_convert instead.","wrong":"from colorspacious import CIELCh_from_CIELab","symbol":"CIELCh_from_CIELab","correct":"import colorspacious as cs\ncs.cspace_convert(data, 'CIELab', 'CIELCh')"}],"quickstart":{"code":"import colorspacious as cs\nimport numpy as np\n\n# A color in sRGB255 (standard 0-255 sRGB) space\nsRGB_color = np.array([255, 128, 0]) # Orange\n\n# Convert to CIELab (D65 illuminant) space\nLAB_color = cs.cspace_convert(sRGB_color, \"sRGB255\", \"CIELab\")\nprint(f\"sRGB color (255, 128, 0) in CIELab: {LAB_color}\")\n\n# Convert to CIELCh space\nLCH_color = cs.cspace_convert(LAB_color, \"CIELab\", \"CIELCh\")\nprint(f\"sRGB color (255, 128, 0) in CIELCh: {LCH_color}\")","lang":"python","description":"This example demonstrates basic color space conversion using the `cspace_convert` function. It takes a NumPy array representing color data and converts it between specified input and output color spaces."},"warnings":[{"fix":"Update calls to `cspace_convert` from `cs.cspace_convert(data, 'old_in', 'old_out')` to `cs.cspace_convert(data, in_cspace='new_in', out_cspace='new_out')` or `cs.cspace_convert(data, 'new_in', 'new_out')`.","message":"The argument signature for `colorspacious.cspace_convert` changed significantly in version 1.0.0. Previously, it might have been `cspace_convert(data, start_cspace, target_cspace)`. In v1.0.0 and later, it uses explicit keyword arguments `in_cspace` and `out_cspace`.","severity":"breaking","affected_versions":">=1.0.0"},{"fix":"Replace calls like `colorspacious.CIELCh_from_CIELab(data)` with `colorspacious.cspace_convert(data, 'CIELab', 'CIELCh')`.","message":"Direct utility functions for specific conversions (e.g., `CIELCh_from_CIELab`, `XYZ_from_sRGB1`) were removed in version 1.0.0. All conversions are now consolidated under the general `colorspacious.cspace_convert` function.","severity":"breaking","affected_versions":">=1.0.0"},{"fix":"Refer to the `colorspacious` documentation for the updated list of colorspace names. For common cases, update `sRGB_linear` to `sRGB1` and `sRGB_255` to `sRGB255`.","message":"Many colorspace specifier strings changed naming conventions in version 1.0.0 (e.g., `sRGB_linear` became `sRGB1`, `sRGB_255` became `sRGB255`). Using old names will result in `ValueError`.","severity":"breaking","affected_versions":">=1.0.0"},{"fix":"Ensure that your color data is converted to a NumPy array before passing it to `colorspacious` functions, e.g., `np.array(my_list_of_colors)`.","message":"While `colorspacious` can process lists or tuples as input, it is heavily optimized for NumPy arrays. Using non-NumPy inputs, especially for large datasets, can lead to significant performance degradation.","severity":"gotcha","affected_versions":"All"}],"env_vars":null,"last_verified":"2026-04-17T00:00:00.000Z","next_check":"2026-07-16T00:00:00.000Z","problems":[{"fix":"Update your code to use `cspace_convert(data, in_cspace='...', out_cspace='...')` or `cspace_convert(data, '...', '...')` where the second and third arguments are now `in_cspace` and `out_cspace` respectively.","cause":"Using the pre-v1.0.0 argument order for `cspace_convert` where `target_cspace` was the third positional argument. The post-v1.0.0 API uses `out_cspace`.","error":"TypeError: cspace_convert() got multiple values for argument 'target_cspace'"},{"fix":"Replace the direct function call with `colorspacious.cspace_convert`. For example, use `colorspacious.cspace_convert(data, 'CIELab', 'CIELCh')` instead.","cause":"Attempting to use a direct conversion function that was removed in `colorspacious` v1.0.0 and later.","error":"AttributeError: module 'colorspacious' has no attribute 'CIELCh_from_CIELab'"},{"fix":"Consult the `colorspacious` documentation for the correct colorspace string. For `sRGB_linear`, use `sRGB1`. For `sRGB_255`, use `sRGB255`.","cause":"Using an old colorspace string identifier that was renamed in `colorspacious` v1.0.0.","error":"ValueError: Unknown colorspace specifier 'sRGB_linear'"}]}