{ "info": { "author": "Colour Developers", "author_email": "colour-developers@colour-science.org", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: Science/Research", "License :: OSI Approved", "License :: OSI Approved :: BSD License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Topic :: Scientific/Engineering", "Topic :: Software Development" ], "description": ".. image:: https://raw.githubusercontent.com/colour-science/colour-branding/master/images/Colour_Logo_001.png\n\n|\n\n.. start-badges\n\n|NumFOCUS| |actions| |coveralls| |codacy| |version| |zenodo|\n\n.. |NumFOCUS| image:: https://img.shields.io/badge/powered%20by-NumFOCUS-orange.svg?style=flat-square&colorA=E1523D&colorB=007D8A\n :target: http://numfocus.org\n :alt: Powered by NumFOCUS\n.. |actions| image:: https://img.shields.io/github/workflow/status/colour-science/colour/Continuous%20Integration?label=actions&logo=github&style=flat-square\n :target: https://github.com/colour-science/colour/actions\n :alt: Develop Build Status\n.. |coveralls| image:: http://img.shields.io/coveralls/colour-science/colour/develop.svg?style=flat-square\n :target: https://coveralls.io/r/colour-science/colour\n :alt: Coverage Status\n.. |codacy| image:: https://img.shields.io/codacy/grade/1f3b8d3bba7440ba9ebc1170589628b1/develop.svg?style=flat-square\n :target: https://www.codacy.com/app/colour-science/colour\n :alt: Code Grade\n.. |version| image:: https://img.shields.io/pypi/v/colour-science.svg?style=flat-square\n :target: https://pypi.org/project/colour-science\n :alt: Package Version\n.. |zenodo| image:: https://img.shields.io/badge/DOI-10.5281/zenodo.6288658-blue.svg?style=flat-square\n :target: https://dx.doi.org/10.5281/zenodo.6288658\n :alt: DOI\n\n.. end-badges\n\n`Colour `__ is an open-source\n`Python `__ package providing a comprehensive number\nof algorithms and datasets for colour science.\n\nIt is freely available under the\n`New BSD License `__ terms.\n\n**Colour** is an affiliated project of `NumFOCUS `__, a\n501(c)(3) nonprofit in the United States.\n\n.. contents:: **Table of Contents**\n :backlinks: none\n :depth: 2\n\n.. sectnum::\n\nDraft Release Notes\n-------------------\n\nThe draft release notes of the\n`develop `__\nbranch are available at this\n`url `__.\n\nSponsors\n--------\n\nWe are grateful \ud83d\udc96 for the support of our\n`sponsors `__.\nIf you'd like to join them, please consider\n`becoming a sponsor on OpenCollective `__.\n\n\n\nFeatures\n--------\n\nMost of the objects are available from the ``colour`` namespace:\n\n.. code-block:: python\n\n >>> import colour\n\nAutomatic Colour Conversion Graph - ``colour.graph``\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nStarting with version *0.3.14*, **Colour** implements an automatic colour\nconversion graph enabling easier colour conversions.\n\n.. image:: https://colour.readthedocs.io/en/develop/_static/Examples_Colour_Automatic_Conversion_Graph.png\n\n.. code-block:: python\n\n >>> sd = colour.SDS_COLOURCHECKERS['ColorChecker N Ohta']['dark skin']\n >>> colour.convert(sd, 'Spectral Distribution', 'sRGB', verbose={'mode': 'Short'})\n\n::\n\n ===============================================================================\n * *\n * [ Conversion Path ] *\n * *\n * \"sd_to_XYZ\" --> \"XYZ_to_sRGB\" *\n * *\n ===============================================================================\n array([ 0.45675795, 0.30986982, 0.24861924])\n\n.. code-block:: python\n\n >>> illuminant = colour.SDS_ILLUMINANTS['FL2']\n >>> colour.convert(sd, 'Spectral Distribution', 'sRGB', sd_to_XYZ={'illuminant': illuminant})\n array([ 0.47924575, 0.31676968, 0.17362725])\n\nChromatic Adaptation - ``colour.adaptation``\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n.. code-block:: python\n\n >>> XYZ = [0.20654008, 0.12197225, 0.05136952]\n >>> D65 = colour.CCS_ILLUMINANTS['CIE 1931 2 Degree Standard Observer']['D65']\n >>> A = colour.CCS_ILLUMINANTS['CIE 1931 2 Degree Standard Observer']['A']\n >>> colour.chromatic_adaptation(\n ... XYZ, colour.xy_to_XYZ(D65), colour.xy_to_XYZ(A))\n array([ 0.2533053 , 0.13765138, 0.01543307])\n >>> sorted(colour.CHROMATIC_ADAPTATION_METHODS)\n ['CIE 1994', 'CMCCAT2000', 'Fairchild 1990', 'Von Kries', 'Zhai 2018']\n\nAlgebra - ``colour.algebra``\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nKernel Interpolation\n********************\n\n.. code-block:: python\n\n >>> y = [5.9200, 9.3700, 10.8135, 4.5100, 69.5900, 27.8007, 86.0500]\n >>> x = range(len(y))\n >>> colour.KernelInterpolator(x, y)([0.25, 0.75, 5.50])\n array([ 6.18062083, 8.08238488, 57.85783403])\n\nSprague (1880) Interpolation\n****************************\n\n.. code-block:: python\n\n >>> y = [5.9200, 9.3700, 10.8135, 4.5100, 69.5900, 27.8007, 86.0500]\n >>> x = range(len(y))\n >>> colour.SpragueInterpolator(x, y)([0.25, 0.75, 5.50])\n array([ 6.72951612, 7.81406251, 43.77379185])\n\nColour Appearance Models - ``colour.appearance``\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n.. code-block:: python\n\n >>> XYZ = [0.20654008 * 100, 0.12197225 * 100, 0.05136952 * 100]\n >>> XYZ_w = [95.05, 100.00, 108.88]\n >>> L_A = 318.31\n >>> Y_b = 20.0\n >>> colour.XYZ_to_CIECAM02(XYZ, XYZ_w, L_A, Y_b)\n CAM_Specification_CIECAM02(J=34.434525727858997, C=67.365010921125943, h=22.279164147957065, s=62.81485585332716, Q=177.47124941102123, M=70.024939419291414, H=2.6896085344238898, HC=None)\n >>> colour.XYZ_to_CAM16(XYZ, XYZ_w, L_A, Y_b)\n CAM_Specification_CAM16(J=33.880368498111686, C=69.444353357408033, h=19.510887327451748, s=64.03612114840314, Q=176.03752758512178, M=72.18638534116765, H=399.52975599115319, HC=None)\n >>> colour.XYZ_to_Kim2009(XYZ, XYZ_w, L_A)\n CAM_Specification_Kim2009(J=19.879918542450902, C=55.839055250876946, h=22.013388165090046, s=112.97979354939129, Q=36.309026130161449, M=46.346415858227864, H=2.3543198369639931, HC=None)\n >>> colour.XYZ_to_ZCAM(XYZ, XYZ_w, L_A, Y_b)\n CAM_Specification_ZCAM(J=38.347186278956357, C=21.12138989208518, h=33.711578931095197, s=81.444585609489536, Q=76.986725284523772, M=42.403805833900506, H=0.45779200212219573, HC=None, V=43.623590687423544, K=43.20894953152817, W=34.829588380192149)\n\nColour Blindness - ``colour.blindness``\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n.. code-block:: python\n\n >>> import numpy as np\n >>> cmfs = colour.LMS_CMFS['Stockman & Sharpe 2 Degree Cone Fundamentals']\n >>> colour.msds_cmfs_anomalous_trichromacy_Machado2009(cmfs, np.array([15, 0, 0]))[450]\n array([ 0.08912884, 0.0870524 , 0.955393 ])\n >>> primaries = colour.MSDS_DISPLAY_PRIMARIES['Apple Studio Display']\n >>> d_LMS = (15, 0, 0)\n >>> colour.matrix_anomalous_trichromacy_Machado2009(cmfs, primaries, d_LMS)\n array([[-0.27774652, 2.65150084, -1.37375432],\n [ 0.27189369, 0.20047862, 0.52762768],\n [ 0.00644047, 0.25921579, 0.73434374]])\n\nColour Correction - ``colour characterisation``\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n.. code-block:: python\n\n >>> import numpy as np\n >>> RGB = [0.17224810, 0.09170660, 0.06416938]\n >>> M_T = np.random.random((24, 3))\n >>> M_R = M_T + (np.random.random((24, 3)) - 0.5) * 0.5\n >>> colour.colour_correction(RGB, M_T, M_R)\n array([ 0.1806237 , 0.07234791, 0.07848845])\n >>> sorted(colour.COLOUR_CORRECTION_METHODS)\n ['Cheung 2004', 'Finlayson 2015', 'Vandermonde']\n\nACES Input Transform - ``colour characterisation``\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n.. code-block:: python\n\n >>> sensitivities = colour.MSDS_CAMERA_SENSITIVITIES['Nikon 5100 (NPL)']\n >>> illuminant = colour.SDS_ILLUMINANTS['D55']\n >>> colour.matrix_idt(sensitivities, illuminant)\n (array([[ 0.46579986, 0.13409221, 0.01935163],\n [ 0.01786092, 0.77557268, -0.16775531],\n [ 0.03458647, -0.16152923, 0.74270363]]), array([ 1.58214188, 1. , 1.28910346]))\n\nColorimetry - ``colour.colorimetry``\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nSpectral Computations\n*********************\n\n.. code-block:: python\n\n >>> colour.sd_to_XYZ(colour.SDS_LIGHT_SOURCES['Neodimium Incandescent'])\n array([ 36.94726204, 32.62076174, 13.0143849 ])\n >>> sorted(colour.SPECTRAL_TO_XYZ_METHODS)\n ['ASTM E308', 'Integration', 'astm2015']\n\n\nMulti-Spectral Computations\n***************************\n\n.. code-block:: python\n\n >>> msds = np.array([\n ... [[0.01367208, 0.09127947, 0.01524376, 0.02810712, 0.19176012, 0.04299992],\n ... [0.00959792, 0.25822842, 0.41388571, 0.22275120, 0.00407416, 0.37439537],\n ... [0.01791409, 0.29707789, 0.56295109, 0.23752193, 0.00236515, 0.58190280]],\n ... [[0.01492332, 0.10421912, 0.02240025, 0.03735409, 0.57663846, 0.32416266],\n ... [0.04180972, 0.26402685, 0.03572137, 0.00413520, 0.41808194, 0.24696727],\n ... [0.00628672, 0.11454948, 0.02198825, 0.39906919, 0.63640803, 0.01139849]],\n ... [[0.04325933, 0.26825359, 0.23732357, 0.05175860, 0.01181048, 0.08233768],\n ... [0.02484169, 0.12027161, 0.00541695, 0.00654612, 0.18603799, 0.36247808],\n ... [0.03102159, 0.16815442, 0.37186235, 0.08610666, 0.00413520, 0.78492409]],\n ... [[0.11682307, 0.78883040, 0.74468607, 0.83375293, 0.90571451, 0.70054168],\n ... [0.06321812, 0.41898224, 0.15190357, 0.24591440, 0.55301750, 0.00657664],\n ... [0.00305180, 0.11288624, 0.11357290, 0.12924391, 0.00195315, 0.21771573]],\n ... ])\n >>> colour.msds_to_XYZ(msds, method='Integration',\n ... shape=colour.SpectralShape(400, 700, 60))\n array([[[ 7.68544647, 4.09414317, 8.49324254],\n [ 17.12567298, 27.77681821, 25.52573685],\n [ 19.10280411, 34.45851476, 29.76319628]],\n [[ 18.03375827, 8.62340812, 9.71702574],\n [ 15.03110867, 6.54001068, 24.53208465],\n [ 37.68269495, 26.4411103 , 10.66361816]],\n [[ 8.09532373, 12.75333339, 25.79613956],\n [ 7.09620297, 2.79257389, 11.15039854],\n [ 8.933163 , 19.39985815, 17.14915636]],\n [[ 80.00969553, 80.39810464, 76.08184429],\n [ 33.27611427, 24.38947838, 39.34919287],\n [ 8.89425686, 11.05185138, 10.86767594]]])\n >>> sorted(colour.MSDS_TO_XYZ_METHODS)\n ['ASTM E308', 'Integration', 'astm2015']\n\nBlackbody Spectral Radiance Computation\n***************************************\n\n.. code-block:: python\n\n >>> colour.sd_blackbody(5000)\n SpectralDistribution([[ 3.60000000e+02, 6.65427827e+12],\n [ 3.61000000e+02, 6.70960528e+12],\n [ 3.62000000e+02, 6.76482512e+12],\n ...\n [ 7.78000000e+02, 1.06068004e+13],\n [ 7.79000000e+02, 1.05903327e+13],\n [ 7.80000000e+02, 1.05738520e+13]],\n interpolator=SpragueInterpolator,\n interpolator_args={},\n extrapolator=Extrapolator,\n extrapolator_args={'right': None, 'method': 'Constant', 'left': None})\n\nDominant, Complementary Wavelength & Colour Purity Computation\n**************************************************************\n\n.. code-block:: python\n\n >>> xy = [0.54369557, 0.32107944]\n >>> xy_n = [0.31270000, 0.32900000]\n >>> colour.dominant_wavelength(xy, xy_n)\n (array(616.0),\n array([ 0.68354746, 0.31628409]),\n array([ 0.68354746, 0.31628409]))\n\nLightness Computation\n*********************\n\n.. code-block:: python\n\n >>> colour.lightness(12.19722535)\n 41.527875844653451\n >>> sorted(colour.LIGHTNESS_METHODS)\n ['Abebe 2017'\n 'CIE 1976',\n 'Fairchild 2010',\n 'Fairchild 2011',\n 'Glasser 1958',\n 'Lstar1976',\n 'Wyszecki 1963']\n\nLuminance Computation\n*********************\n\n.. code-block:: python\n\n >>> colour.luminance(41.52787585)\n 12.197225353400775\n >>> sorted(colour.LUMINANCE_METHODS)\n ['ASTM D1535',\n 'CIE 1976',\n 'Fairchild 2010',\n 'Fairchild 2011',\n 'Newhall 1943',\n 'astm2008',\n 'cie1976']\n\nWhiteness Computation\n*********************\n\n.. code-block:: python\n\n >>> XYZ = [95.00000000, 100.00000000, 105.00000000]\n >>> XYZ_0 = [94.80966767, 100.00000000, 107.30513595]\n >>> colour.whiteness(XYZ, XYZ_0)\n array([ 93.756 , -1.33000001])\n >>> sorted(colour.WHITENESS_METHODS)\n ['ASTM E313',\n 'Berger 1959',\n 'CIE 2004',\n 'Ganz 1979',\n 'Stensby 1968',\n 'Taube 1960',\n 'cie2004']\n\nYellowness Computation\n**********************\n\n.. code-block:: python\n\n >>> XYZ = [95.00000000, 100.00000000, 105.00000000]\n >>> colour.yellowness(XYZ)\n 4.3400000000000034\n >>> sorted(colour.YELLOWNESS_METHODS)\n ['ASTM D1925', 'ASTM E313', 'ASTM E313 Alternative']\n\nLuminous Flux, Efficiency & Efficacy Computation\n************************************************\n\n.. code-block:: python\n\n >>> sd = colour.SDS_LIGHT_SOURCES['Neodimium Incandescent']\n >>> colour.luminous_flux(sd)\n 23807.655527367202\n >>> sd = colour.SDS_LIGHT_SOURCES['Neodimium Incandescent']\n >>> colour.luminous_efficiency(sd)\n 0.19943935624521045\n >>> sd = colour.SDS_LIGHT_SOURCES['Neodimium Incandescent']\n >>> colour.luminous_efficacy(sd)\n 136.21708031547874\n\nContrast Sensitivity Function - ``colour.contrast``\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n.. code-block:: python\n\n >>> colour.contrast_sensitivity_function(u=4, X_0=60, E=65)\n 358.51180789884984\n >>> sorted(colour.CONTRAST_SENSITIVITY_METHODS)\n ['Barten 1999']\n\n\nColour Difference - ``colour.difference``\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n.. code-block:: python\n\n >>> Lab_1 = [100.00000000, 21.57210357, 272.22819350]\n >>> Lab_2 = [100.00000000, 426.67945353, 72.39590835]\n >>> colour.delta_E(Lab_1, Lab_2)\n 94.035649026659485\n >>> sorted(colour.DELTA_E_METHODS)\n ['CAM02-LCD',\n 'CAM02-SCD',\n 'CAM02-UCS',\n 'CAM16-LCD',\n 'CAM16-SCD',\n 'CAM16-UCS',\n 'CIE 1976',\n 'CIE 1994',\n 'CIE 2000',\n 'CMC',\n 'DIN99',\n 'cie1976',\n 'cie1994',\n 'cie2000']\n\nIO - ``colour.io``\n~~~~~~~~~~~~~~~~~~\n\nImages\n******\n\n.. code-block:: python\n\n >>> RGB = colour.read_image('Ishihara_Colour_Blindness_Test_Plate_3.png')\n >>> RGB.shape\n (276, 281, 3)\n\nLook Up Table (LUT) Data\n************************\n\n.. code-block:: python\n\n >>> LUT = colour.read_LUT('ACES_Proxy_10_to_ACES.cube')\n >>> print(LUT)\n\n::\n\n LUT3x1D - ACES Proxy 10 to ACES\n -------------------------------\n Dimensions : 2\n Domain : [[0 0 0]\n [1 1 1]]\n Size : (32, 3)\n\n.. code-block:: python\n\n >>> RGB = [0.17224810, 0.09170660, 0.06416938]\n >>> LUT.apply(RGB)\n array([ 0.00575674, 0.00181493, 0.00121419])\n\nColour Models - ``colour.models``\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nCIE xyY Colourspace\n*******************\n\n.. code-block:: python\n\n >>> colour.XYZ_to_xyY([0.20654008, 0.12197225, 0.05136952])\n array([ 0.54369557, 0.32107944, 0.12197225])\n\nCIE L*a*b* Colourspace\n**********************\n\n.. code-block:: python\n\n >>> colour.XYZ_to_Lab([0.20654008, 0.12197225, 0.05136952])\n array([ 41.52787529, 52.63858304, 26.92317922])\n\nCIE L*u*v* Colourspace\n**********************\n\n.. code-block:: python\n\n >>> colour.XYZ_to_Luv([0.20654008, 0.12197225, 0.05136952])\n array([ 41.52787529, 96.83626054, 17.75210149])\n\nCIE 1960 UCS Colourspace\n************************\n\n.. code-block:: python\n\n >>> colour.XYZ_to_UCS([0.20654008, 0.12197225, 0.05136952])\n array([ 0.13769339, 0.12197225, 0.1053731 ])\n\nCIE 1964 U*V*W* Colourspace\n***************************\n\n.. code-block:: python\n\n >>> XYZ = [0.20654008 * 100, 0.12197225 * 100, 0.05136952 * 100]\n >>> colour.XYZ_to_UVW(XYZ)\n array([ 94.55035725, 11.55536523, 40.54757405])\n\nHunter L,a,b Colour Scale\n*************************\n\n.. code-block:: python\n\n >>> XYZ = [0.20654008 * 100, 0.12197225 * 100, 0.05136952 * 100]\n >>> colour.XYZ_to_Hunter_Lab(XYZ)\n array([ 34.92452577, 47.06189858, 14.38615107])\n\nHunter Rd,a,b Colour Scale\n**************************\n\n.. code-block:: python\n\n >>> XYZ = [0.20654008 * 100, 0.12197225 * 100, 0.05136952 * 100]\n >>> colour.XYZ_to_Hunter_Rdab(XYZ)\n array([ 12.197225 , 57.12537874, 17.46241341])\n\nCAM02-LCD, CAM02-SCD, and CAM02-UCS Colourspaces - Luo, Cui and Li (2006)\n*************************************************************************\n\n.. code-block:: python\n\n >>> XYZ = [0.20654008 * 100, 0.12197225 * 100, 0.05136952 * 100]\n >>> XYZ_w = [95.05, 100.00, 108.88]\n >>> L_A = 318.31\n >>> Y_b = 20.0\n >>> surround = colour.VIEWING_CONDITIONS_CIECAM02['Average']\n >>> specification = colour.XYZ_to_CIECAM02(\n XYZ, XYZ_w, L_A, Y_b, surround)\n >>> JMh = (specification.J, specification.M, specification.h)\n >>> colour.JMh_CIECAM02_to_CAM02UCS(JMh)\n array([ 47.16899898, 38.72623785, 15.8663383 ])\n >>> XYZ = [0.20654008, 0.12197225, 0.05136952]\n >>> XYZ_w = [95.05 / 100, 100.00 / 100, 108.88 / 100]\n >>> colour.XYZ_to_CAM02UCS(XYZ, XYZ_w=XYZ_w, L_A=L_A, Y_b=Y_b)\n array([ 47.16899898, 38.72623785, 15.8663383 ])\n\nCAM16-LCD, CAM16-SCD, and CAM16-UCS Colourspaces - Li et al. (2017)\n*******************************************************************\n\n.. code-block:: python\n\n >>> XYZ = [0.20654008 * 100, 0.12197225 * 100, 0.05136952 * 100]\n >>> XYZ_w = [95.05, 100.00, 108.88]\n >>> L_A = 318.31\n >>> Y_b = 20.0\n >>> surround = colour.VIEWING_CONDITIONS_CAM16['Average']\n >>> specification = colour.XYZ_to_CAM16(\n XYZ, XYZ_w, L_A, Y_b, surround)\n >>> JMh = (specification.J, specification.M, specification.h)\n >>> colour.JMh_CAM16_to_CAM16UCS(JMh)\n array([ 46.55542238, 40.22460974, 14.25288392]\n >>> XYZ = [0.20654008, 0.12197225, 0.05136952]\n >>> XYZ_w = [95.05 / 100, 100.00 / 100, 108.88 / 100]\n >>> colour.XYZ_to_CAM16UCS(XYZ, XYZ_w=XYZ_w, L_A=L_A, Y_b=Y_b)\n array([ 46.55542238, 40.22460974, 14.25288392])\n\nICaCb Colourspace\n******************\n\n.. code-block:: python\n\n >>> XYZ_to_ICaCb(np.array([0.20654008, 0.12197225, 0.05136952]))\n array([ 0.06875297, 0.05753352, 0.02081548])\n\nIgPgTg Colourspace\n******************\n\n.. code-block:: python\n\n >>> colour.XYZ_to_IgPgTg([0.20654008, 0.12197225, 0.05136952])\n array([ 0.42421258, 0.18632491, 0.10689223])\n\nIPT Colourspace\n***************\n\n.. code-block:: python\n\n >>> colour.XYZ_to_IPT([0.20654008, 0.12197225, 0.05136952])\n array([ 0.38426191, 0.38487306, 0.18886838])\n\nDIN99 Colourspace and DIN99b, DIN99c, DIN99d Refined Formulas\n*************************************************************\n\n.. code-block:: python\n\n >>> Lab = [41.52787529, 52.63858304, 26.92317922]\n >>> colour.Lab_to_DIN99(Lab)\n array([ 53.22821988, 28.41634656, 3.89839552])\n\nhdr-CIELAB Colourspace\n**********************\n\n.. code-block:: python\n\n >>> colour.XYZ_to_hdr_CIELab([0.20654008, 0.12197225, 0.05136952])\n array([ 51.87002062, 60.4763385 , 32.14551912])\n\nhdr-IPT Colourspace\n*******************\n\n.. code-block:: python\n\n >>> colour.XYZ_to_hdr_IPT([0.20654008, 0.12197225, 0.05136952])\n array([ 25.18261761, -22.62111297, 3.18511729])\n\nOklab Colourspace\n*****************\n\n.. code-block:: python\n\n >>> colour.XYZ_to_Oklab([0.20654008, 0.12197225, 0.05136952])\n array([ 0.51634019, 0.154695 , 0.06289579])\n\nOSA UCS Colourspace\n*******************\n\n.. code-block:: python\n\n >>> XYZ = [0.20654008 * 100, 0.12197225 * 100, 0.05136952 * 100]\n >>> colour.XYZ_to_OSA_UCS(XYZ)\n array([-3.0049979 , 2.99713697, -9.66784231])\n\nProLab Colourspace\n******************\n\n.. code-block:: python\n\n >>> colour.XYZ_to_ProLab([0.51634019, 0.15469500, 0.06289579])\n array([1.24610688, 2.39525236, 0.41902126])\n\nJzazbz Colourspace\n******************\n\n.. code-block:: python\n\n >>> colour.XYZ_to_Jzazbz([0.20654008, 0.12197225, 0.05136952])\n array([ 0.00535048, 0.00924302, 0.00526007])\n\nY'CbCr Colour Encoding\n**********************\n\n.. code-block:: python\n\n >>> colour.RGB_to_YCbCr([1.0, 1.0, 1.0])\n array([ 0.92156863, 0.50196078, 0.50196078])\n\nYCoCg Colour Encoding\n*********************\n\n.. code-block:: python\n\n >>> colour.RGB_to_YCoCg([0.75, 0.75, 0.0])\n array([ 0.5625, 0.375 , 0.1875])\n\nICtCp Colour Encoding\n*********************\n\n.. code-block:: python\n\n >>> colour.RGB_to_ICtCp([0.45620519, 0.03081071, 0.04091952])\n array([ 0.07351364, 0.00475253, 0.09351596])\n\nHSV Colourspace\n***************\n\n.. code-block:: python\n\n >>> colour.RGB_to_HSV([0.45620519, 0.03081071, 0.04091952])\n array([ 0.99603944, 0.93246304, 0.45620519])\n\nIHLS Colourspace\n****************\n\n.. code-block:: python\n\n >>> colour.RGB_to_IHLS([0.45620519, 0.03081071, 0.04091952])\n array([ 6.26236117, 0.12197943, 0.42539448])\n\nPrismatic Colourspace\n*********************\n\n.. code-block:: python\n\n >>> colour.RGB_to_Prismatic([0.25, 0.50, 0.75])\n array([ 0.75 , 0.16666667, 0.33333333, 0.5 ])\n\nRGB Colourspace and Transformations\n***********************************\n\n.. code-block:: python\n\n >>> XYZ = [0.21638819, 0.12570000, 0.03847493]\n >>> illuminant_XYZ = [0.34570, 0.35850]\n >>> illuminant_RGB = [0.31270, 0.32900]\n >>> chromatic_adaptation_transform = 'Bradford'\n >>> matrix_XYZ_to_RGB = [\n [3.24062548, -1.53720797, -0.49862860],\n [-0.96893071, 1.87575606, 0.04151752],\n [0.05571012, -0.20402105, 1.05699594]]\n >>> colour.XYZ_to_RGB(\n XYZ,\n illuminant_XYZ,\n illuminant_RGB,\n matrix_XYZ_to_RGB,\n chromatic_adaptation_transform)\n array([ 0.45595571, 0.03039702, 0.04087245])\n\nRGB Colourspace Derivation\n**************************\n\n.. code-block:: python\n\n >>> p = [0.73470, 0.26530, 0.00000, 1.00000, 0.00010, -0.07700]\n >>> w = [0.32168, 0.33767]\n >>> colour.normalised_primary_matrix(p, w)\n array([[ 9.52552396e-01, 0.00000000e+00, 9.36786317e-05],\n [ 3.43966450e-01, 7.28166097e-01, -7.21325464e-02],\n [ 0.00000000e+00, 0.00000000e+00, 1.00882518e+00]])\n\nRGB Colourspaces\n****************\n\n.. code-block:: python\n\n >>> sorted(colour.RGB_COLOURSPACES)\n ['ACES2065-1',\n 'ACEScc',\n 'ACEScct',\n 'ACEScg',\n 'ACESproxy',\n 'ALEXA Wide Gamut',\n 'Adobe RGB (1998)',\n 'Adobe Wide Gamut RGB',\n 'Apple RGB',\n 'Best RGB',\n 'Beta RGB',\n 'Blackmagic Wide Gamut',\n 'CIE RGB',\n 'Cinema Gamut',\n 'ColorMatch RGB',\n 'DaVinci Wide Gamut',\n 'DCDM XYZ',\n 'DCI-P3',\n 'DCI-P3+',\n 'DJI D-Gamut',\n 'DRAGONcolor',\n 'DRAGONcolor2',\n 'Display P3',\n 'Don RGB 4',\n 'ECI RGB v2',\n 'ERIMM RGB',\n 'Ekta Space PS 5',\n 'F-Gamut',\n 'FilmLight E-Gamut',\n 'ITU-R BT.2020',\n 'ITU-R BT.470 - 525',\n 'ITU-R BT.470 - 625',\n 'ITU-R BT.709',\n 'Max RGB',\n 'NTSC (1953)',\n 'NTSC (1987)',\n 'P3-D65',\n 'Pal/Secam',\n 'ProPhoto RGB',\n 'Protune Native',\n 'REDWideGamutRGB',\n 'REDcolor',\n 'REDcolor2',\n 'REDcolor3',\n 'REDcolor4',\n 'RIMM RGB',\n 'ROMM RGB',\n 'Russell RGB',\n 'S-Gamut',\n 'S-Gamut3',\n 'S-Gamut3.Cine',\n 'SMPTE 240M',\n 'SMPTE C',\n 'Sharp RGB',\n 'V-Gamut',\n 'Venice S-Gamut3',\n 'Venice S-Gamut3.Cine',\n 'Xtreme RGB',\n 'aces',\n 'adobe1998',\n 'prophoto',\n\nOETFs\n*****\n\n.. code-block:: python\n\n >>> sorted(colour.OETFS)\n ['ARIB STD-B67',\n 'Blackmagic Film Generation 5',\n 'DaVinci Intermediate',\n 'ITU-R BT.2100 HLG',\n 'ITU-R BT.2100 PQ',\n 'ITU-R BT.601',\n 'ITU-R BT.709',\n 'SMPTE 240M']\n\nEOTFs\n*****\n\n.. code-block:: python\n\n >>> sorted(colour.EOTFS)\n ['DCDM',\n 'DICOM GSDF',\n 'ITU-R BT.1886',\n 'ITU-R BT.2020',\n 'ITU-R BT.2100 HLG',\n 'ITU-R BT.2100 PQ',\n 'SMPTE 240M',\n 'ST 2084',\n 'sRGB']\n\nOOTFs\n*****\n\n.. code-block:: python\n\n >>> sorted(colour.OOTFS)\n ['ITU-R BT.2100 HLG', 'ITU-R BT.2100 PQ']\n\nLog Encoding / Decoding\n***********************\n\n.. code-block:: python\n\n >>> sorted(colour.LOG_ENCODINGS)\n ['ACEScc',\n 'ACEScct',\n 'ACESproxy',\n 'ALEXA Log C',\n 'Canon Log',\n 'Canon Log 2',\n 'Canon Log 3',\n 'Cineon',\n 'D-Log',\n 'ERIMM RGB',\n 'F-Log',\n 'Filmic Pro 6',\n 'Log2',\n 'Log3G10',\n 'Log3G12',\n 'N-Log',\n 'PLog',\n 'Panalog',\n 'Protune',\n 'REDLog',\n 'REDLogFilm',\n 'S-Log',\n 'S-Log2',\n 'S-Log3',\n 'T-Log',\n 'V-Log',\n 'ViperLog']\n\nCCTFs Encoding / Decoding\n*************************\n\n.. code-block:: python\n\n >>> sorted(colour.CCTF_ENCODINGS)\n ['ACEScc',\n 'ACEScct',\n 'ACESproxy',\n 'ALEXA Log C',\n 'ARIB STD-B67',\n 'Canon Log',\n 'Canon Log 2',\n 'Canon Log 3',\n 'Cineon',\n 'D-Log',\n 'DCDM',\n 'DICOM GSDF',\n 'ERIMM RGB',\n 'F-Log',\n 'Filmic Pro 6',\n 'Gamma 2.2',\n 'Gamma 2.4',\n 'Gamma 2.6',\n 'ITU-R BT.1886',\n 'ITU-R BT.2020',\n 'ITU-R BT.2100 HLG',\n 'ITU-R BT.2100 PQ',\n 'ITU-R BT.601',\n 'ITU-R BT.709',\n 'Log2',\n 'Log3G10',\n 'Log3G12',\n 'PLog',\n 'Panalog',\n 'ProPhoto RGB',\n 'Protune',\n 'REDLog',\n 'REDLogFilm',\n 'RIMM RGB',\n 'ROMM RGB',\n 'S-Log',\n 'S-Log2',\n 'S-Log3',\n 'SMPTE 240M',\n 'ST 2084',\n 'T-Log',\n 'V-Log',\n 'ViperLog',\n 'sRGB']\n\nColour Notation Systems - ``colour.notation``\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nMunsell Value\n*************\n\n.. code-block:: python\n\n >>> colour.munsell_value(12.23634268)\n 4.0824437076525664\n >>> sorted(colour.MUNSELL_VALUE_METHODS)\n ['ASTM D1535',\n 'Ladd 1955',\n 'McCamy 1987',\n 'Moon 1943',\n 'Munsell 1933',\n 'Priest 1920',\n 'Saunderson 1944',\n 'astm2008']\n\nMunsell Colour\n**************\n\n.. code-block:: python\n\n >>> colour.xyY_to_munsell_colour([0.38736945, 0.35751656, 0.59362000])\n '4.2YR 8.1/5.3'\n >>> colour.munsell_colour_to_xyY('4.2YR 8.1/5.3')\n array([ 0.38736945, 0.35751656, 0.59362 ])\n\nOptical Phenomena - ``colour.phenomena``\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n.. code-block:: python\n\n >>> colour.rayleigh_scattering_sd()\n SpectralDistribution([[ 3.60000000e+02, 5.99101337e-01],\n [ 3.61000000e+02, 5.92170690e-01],\n [ 3.62000000e+02, 5.85341006e-01],\n ...\n [ 7.78000000e+02, 2.55208377e-02],\n [ 7.79000000e+02, 2.53887969e-02],\n [ 7.80000000e+02, 2.52576106e-02]],\n interpolator=SpragueInterpolator,\n interpolator_args={},\n extrapolator=Extrapolator,\n extrapolator_args={'right': None, 'method': 'Constant', 'left': None})\n\nLight Quality - ``colour.quality``\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nColour Fidelity Index\n*********************\n\n.. code-block:: python\n\n >>> colour.colour_fidelity_index(colour.SDS_ILLUMINANTS['FL2'])\n 70.120825477833037\n >>> sorted(colour.COLOUR_FIDELITY_INDEX_METHODS)\n ['ANSI/IES TM-30-18', 'CIE 2017']\n\nColour Rendering Index\n**********************\n\n.. code-block:: python\n\n >>> colour.colour_quality_scale(colour.SDS_ILLUMINANTS['FL2'])\n 64.111703163816699\n >>> sorted(colour.COLOUR_QUALITY_SCALE_METHODS)\n ['NIST CQS 7.4', 'NIST CQS 9.0']\n\nColour Quality Scale\n********************\n\n.. code-block:: python\n\n >>> colour.colour_rendering_index(colour.SDS_ILLUMINANTS['FL2'])\n 64.233724121664807\n\nAcademy Spectral Similarity Index (SSI)\n***************************************\n\n.. code-block:: python\n\n >>> colour.spectral_similarity_index(colour.SDS_ILLUMINANTS['C'], colour.SDS_ILLUMINANTS['D65'])\n 94.0\n\nSpectral Up-Sampling & Reflectance Recovery - ``colour.recovery``\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n.. code-block:: python\n\n >>> colour.XYZ_to_sd([0.20654008, 0.12197225, 0.05136952])\n SpectralDistribution([[ 3.60000000e+02, 8.37868873e-02],\n [ 3.65000000e+02, 8.39337988e-02],\n ...\n [ 7.70000000e+02, 4.46793405e-01],\n [ 7.75000000e+02, 4.46872853e-01],\n [ 7.80000000e+02, 4.46914431e-01]],\n interpolator=SpragueInterpolator,\n interpolator_kwargs={},\n extrapolator=Extrapolator,\n extrapolator_kwargs={'method': 'Constant', 'left': None, 'right': None})\n\n >>> sorted(colour.REFLECTANCE_RECOVERY_METHODS)\n ['Jakob 2019', 'Mallett 2019', 'Meng 2015', 'Otsu 2018', 'Smits 1999']\n\nCorrelated Colour Temperature Computation Methods - ``colour.temperature``\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n.. code-block:: python\n\n >>> colour.uv_to_CCT([0.1978, 0.3122])\n array([ 6.50751282e+03, 3.22335875e-03])\n >>> sorted(colour.UV_TO_CCT_METHODS)\n ['Krystek 1985', 'Ohno 2013', 'Robertson 1968', 'ohno2013', 'robertson1968']\n >>> sorted(colour.XY_TO_CCT_METHODS)\n ['CIE Illuminant D Series',\n 'Hernandez 1999',\n 'Kang 2002',\n 'McCamy 1992',\n 'daylight',\n 'hernandez1999',\n 'kang2002',\n 'mccamy1992']\n\nColour Volume - ``colour.volume``\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n.. code-block:: python\n\n >>> colour.RGB_colourspace_volume_MonteCarlo(colour.RGB_COLOURSPACE_RGB['sRGB'])\n 821958.30000000005\n\nGeometry Primitives Generation - ``colour.geometry``\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n.. code-block:: python\n\n >>> colour.primitive('Grid')\n (array([ ([-0.5, 0.5, 0. ], [ 0., 1.], [ 0., 0., 1.], [ 0., 1., 0., 1.]),\n ([ 0.5, 0.5, 0. ], [ 1., 1.], [ 0., 0., 1.], [ 1., 1., 0., 1.]),\n ([-0.5, -0.5, 0. ], [ 0., 0.], [ 0., 0., 1.], [ 0., 0., 0., 1.]),\n ([ 0.5, -0.5, 0. ], [ 1., 0.], [ 0., 0., 1.], [ 1., 0., 0., 1.])],\n dtype=[('position', '>> sorted(colour.PRIMITIVE_METHODS)\n ['Cube', 'Grid']\n >>> colour.primitive_vertices('Quad MPL')\n array([[ 0., 0., 0.],\n [ 1., 0., 0.],\n [ 1., 1., 0.],\n [ 0., 1., 0.]])\n >>> sorted(colour.PRIMITIVE_VERTICES_METHODS)\n ['Cube MPL', 'Grid MPL', 'Quad MPL', 'Sphere']\n\nPlotting - ``colour.plotting``\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nMost of the objects are available from the ``colour.plotting`` namespace:\n\n.. code-block:: python\n\n >>> from colour.plotting import *\n >>> colour_style()\n\nVisible Spectrum\n****************\n\n.. code-block:: python\n\n >>> plot_visible_spectrum('CIE 1931 2 Degree Standard Observer')\n\n.. image:: https://colour.readthedocs.io/en/develop/_static/Examples_Plotting_Visible_Spectrum.png\n\nSpectral Distribution\n*********************\n\n.. code-block:: python\n\n >>> plot_single_illuminant_sd('FL1')\n\n.. image:: https://colour.readthedocs.io/en/develop/_static/Examples_Plotting_Illuminant_F1_SD.png\n\nBlackbody\n*********\n\n.. code-block:: python\n\n >>> blackbody_sds = [\n ... colour.sd_blackbody(i, colour.SpectralShape(0, 10000, 10))\n ... for i in range(1000, 15000, 1000)\n ... ]\n >>> plot_multi_sds(\n ... blackbody_sds,\n ... y_label='W / (sr m$^2$) / m',\n ... plot_kwargs={\n ... 'use_sd_colours': True,\n ... 'normalise_sd_colours': True,\n ... },\n ... legend_location='upper right',\n ... bounding_box=(0, 1250, 0, 2.5e6))\n\n.. image:: https://colour.readthedocs.io/en/develop/_static/Examples_Plotting_Blackbodies.png\n\nColour Matching Functions\n*************************\n\n.. code-block:: python\n\n >>> plot_single_cmfs(\n ... 'Stockman & Sharpe 2 Degree Cone Fundamentals',\n ... y_label='Sensitivity',\n ... bounding_box=(390, 870, 0, 1.1))\n\n.. image:: https://colour.readthedocs.io/en/develop/_static/Examples_Plotting_Cone_Fundamentals.png\n\nLuminous Efficiency\n*******************\n\n.. code-block:: python\n\n >>> sd_mesopic_luminous_efficiency_function = (\n ... colour.sd_mesopic_luminous_efficiency_function(0.2))\n >>> plot_multi_sds(\n ... (sd_mesopic_luminous_efficiency_function,\n ... colour.PHOTOPIC_LEFS['CIE 1924 Photopic Standard Observer'],\n ... colour.SCOTOPIC_LEFS['CIE 1951 Scotopic Standard Observer']),\n ... y_label='Luminous Efficiency',\n ... legend_location='upper right',\n ... y_tighten=True,\n ... margins=(0, 0, 0, 0.1))\n\n.. image:: https://colour.readthedocs.io/en/develop/_static/Examples_Plotting_Luminous_Efficiency.png\n\nColour Checker\n**************\n\n.. code-block:: python\n\n >>> from colour.characterisation.dataset.colour_checkers.sds import (\n ... COLOURCHECKER_INDEXES_TO_NAMES_MAPPING)\n >>> plot_multi_sds(\n ... [\n ... colour.SDS_COLOURCHECKERS['BabelColor Average'][value]\n ... for key, value in sorted(\n ... COLOURCHECKER_INDEXES_TO_NAMES_MAPPING.items())\n ... ],\n ... plot_kwargs={\n ... use_sd_colours=True,\n ... },\n ... title=('BabelColor Average - '\n ... 'Spectral Distributions'))\n\n.. image:: https://colour.readthedocs.io/en/develop/_static/Examples_Plotting_BabelColor_Average.png\n\n.. code-block:: python\n\n >>> plot_single_colour_checker(\n ... 'ColorChecker 2005', text_kwargs={'visible': False})\n\n.. image:: https://colour.readthedocs.io/en/develop/_static/Examples_Plotting_ColorChecker_2005.png\n\nChromaticities Prediction\n*************************\n\n.. code-block:: python\n\n >>> plot_corresponding_chromaticities_prediction(\n ... 2, 'Von Kries', 'Bianco 2010')\n\n.. image:: https://colour.readthedocs.io/en/develop/_static/Examples_Plotting_Chromaticities_Prediction.png\n\nChromaticities\n**************\n\n.. code-block:: python\n\n >>> import numpy as np\n >>> RGB = np.random.random((32, 32, 3))\n >>> plot_RGB_chromaticities_in_chromaticity_diagram_CIE1931(\n ... RGB, 'ITU-R BT.709',\n ... colourspaces=['ACEScg', 'S-Gamut', 'Pointer Gamut'])\n\n.. image:: https://colour.readthedocs.io/en/develop/_static/Examples_Plotting_Chromaticities_CIE_1931_Chromaticity_Diagram.png\n\nColour Rendering Index\n**********************\n\n.. code-block:: python\n\n >>> plot_single_sd_colour_rendering_index_bars(\n ... colour.SDS_ILLUMINANTS['FL2'])\n\n.. image:: https://colour.readthedocs.io/en/develop/_static/Examples_Plotting_CRI.png\n\nANSI/IES TM-30-18 Colour Rendition Report\n*****************************************\n\n.. code-block:: python\n\n >>> plot_single_sd_colour_rendition_report(\n ... colour.SDS_ILLUMINANTS['FL2'])\n\n.. image:: https://colour.readthedocs.io/en/develop/_static/Examples_Plotting_Colour_Rendition_Report.png\n\nGamut Section\n*************\n\n.. code-block:: python\n\n >>> plot_visible_spectrum_section(section_colours='RGB', section_opacity=0.15)\n\n.. image:: https://colour.readthedocs.io/en/develop/_static/Examples_Plotting_Plot_Visible_Spectrum_Section.png\n\n.. code-block:: python\n\n >>> plot_RGB_colourspace_section('sRGB', section_colours='RGB', section_opacity=0.15)\n\n.. image:: https://colour.readthedocs.io/en/develop/_static/Examples_Plotting_Plot_RGB_Colourspace_Section.png\n\nColour Temperature\n******************\n\n.. code-block:: python\n\n >>> plot_planckian_locus_in_chromaticity_diagram_CIE1960UCS(['A', 'B', 'C'])\n\n.. image:: https://colour.readthedocs.io/en/develop/_static/Examples_Plotting_CCT_CIE_1960_UCS_Chromaticity_Diagram.png\n\nUser Guide\n----------\n\nInstallation\n~~~~~~~~~~~~\n\n**Colour** and its primary dependencies can be easily installed from the\n`Python Package Index `__\nby issuing this command in a shell:\n\n.. code-block:: bash\n\n $ pip install --user colour-science\n\nThe detailed installation procedure for the secondary dependencies is\ndescribed in the `Installation Guide `__.\n\n**Colour** is also available for `Anaconda `__\nfrom *Continuum Analytics* via `conda-forge `__:\n\n.. code-block:: bash\n\n $ conda install -c conda-forge colour-science\n\nTutorial\n~~~~~~~~\n\nThe `static tutorial `__\nprovides an introduction to **Colour**. An interactive version is available via\n`Google Colab `__.\n\nHow-To\n~~~~~~\n\nThe `Google Colab How-To `__\nguide for **Colour** shows various techniques to solve specific problems and\nhighlights some interesting use cases.\n\nContributing\n~~~~~~~~~~~~\n\nIf you would like to contribute to **Colour**, please refer to the following\n`Contributing `__ guide.\n\nChanges\n~~~~~~~\n\nThe changes are viewable on the `Releases `__ page.\n\nBibliography\n~~~~~~~~~~~~\n\nThe bibliography is available on the `Bibliography `__ page.\n\nIt is also viewable directly from the repository in\n`BibTeX `__\nformat.\n\nAPI Reference\n-------------\n\nThe main technical reference for **Colour** is the\n`API Reference `__.\n\nSee Also\n--------\n\nSoftware\n~~~~~~~~\n\n**Python**\n\n- `Colorio `__ by Schl\u00f6mer, N.\n- `ColorPy `__ by Kness, M.\n- `Colorspacious `__ by Smith, N. J., et al.\n- `python-colormath `__ by Taylor, G., et al.\n\n**Go**\n\n- `go-colorful `__ by Beyer, L., et al.\n\n**.NET**\n\n- `Colourful `__ by Pa\u017eourek, T., et al.\n\n**Julia**\n\n- `Colors.jl `__ by Holy, T., et al.\n\n**Matlab & Octave**\n\n- `COLORLAB `__ by Malo, J., et al.\n- `Psychtoolbox `__ by Brainard, D., et al.\n- `The Munsell and Kubelka-Munk Toolbox `__ by Centore, P.\n\nCode of Conduct\n---------------\n\nThe *Code of Conduct*, adapted from the `Contributor Covenant 1.4 `__,\nis available on the `Code of Conduct `__ page.\n\n\n\nAbout\n-----\n\n| **Colour** by Colour Developers\n| Copyright 2013 Colour Developers \u2013 `colour-developers@colour-science.org `__\n| This software is released under terms of New BSD License: https://opensource.org/licenses/BSD-3-Clause\n| `https://github.com/colour-science/colour `__\n\n", "description_content_type": "text/x-rst", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://www.colour-science.org/", "keywords": "color,color-science,color-space,color-spaces,colorspace,colorspaces,colour,colour-science,colour-space,colour-spaces,colourspace,colourspaces,data,dataset,datasets,python,spectral-data,spectral-dataset,spectral-datasets", "license": "BSD-3-Clause", "maintainer": "Colour Developers", "maintainer_email": "colour-developers@colour-science.org", "name": "colour-science", "package_url": "https://pypi.org/project/colour-science/", "platform": "", "project_url": "https://pypi.org/project/colour-science/", "project_urls": { "Homepage": "https://www.colour-science.org/", "Repository": "https://github.com/colour-science/colour" }, "release_url": "https://pypi.org/project/colour-science/0.4.1/", "requires_dist": [ "biblib-simple; extra == \"development\"", "black; extra == \"development\"", "coverage (!=6.3); extra == \"development\"", "coveralls; extra == \"development\"", "flake8; extra == \"development\"", "flynt; extra == \"development\"", "imageio (>=2,<3)", "invoke; extra == \"development\"", "jupyter; extra == \"development\"", "matplotlib (>=3.2,!=3.5.0,!=3.5.1); extra == \"plotting\" or extra == \"read-the-docs\"", "mypy; extra == \"development\"", "networkx (>=2,<3); extra == \"optional\" or extra == \"read-the-docs\"", "numpy (>=1.19,<2)", "pandas (>=1,<2); extra == \"optional\"", "pre-commit; extra == \"development\"", "pydata-sphinx-theme; extra == \"development\" or extra == \"read-the-docs\"", "pydocstyle; extra == \"development\"", "pygraphviz (>=1,<2); extra == \"graphviz\" or extra == \"read-the-docs\"", "pytest-cov; extra == \"development\"", "pytest; extra == \"development\"", "pyupgrade; extra == \"development\"", "restructuredtext-lint; extra == \"development\"", "scikit-learn (>=1,<2); extra == \"optional\"", "scipy (>=1.5,<2)", "sphinx (>=4,<5); extra == \"development\"", "sphinxcontrib-bibtex; extra == \"development\" or extra == \"read-the-docs\"", "toml; extra == \"development\"", "tqdm (>=4,<5); extra == \"optional\"", "trimesh (>=3,<4); extra == \"meshing\" or extra == \"read-the-docs\"", "twine; extra == \"development\"", "typing-extensions (>=4,<5)" ], "requires_python": ">=3.8,<3.11", "summary": "Colour Science for Python", "version": "0.4.1", "yanked": false, "yanked_reason": null }, "last_serial": 13015139, "releases": { "0.2.1": [], "0.3.0": [ { "comment_text": "", "digests": { "md5": "02c35955e6f8923a26fc2a09631579a0", "sha256": "df67f7c9d6108e19d334928a0516d7fa3c0c740a7ce5aea8238b872a108ded09" }, "downloads": -1, "filename": "colour-science-0.3.0.tar.gz", "has_sig": false, "md5_digest": "02c35955e6f8923a26fc2a09631579a0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5622051, "upload_time": "2014-09-02T11:17:11", "upload_time_iso_8601": "2014-09-02T11:17:11.795934Z", "url": "https://files.pythonhosted.org/packages/29/ea/0e345a7d9f6e8092a71a5d27a302ec3d6f57a3b2d4a4160c4814f0a318e1/colour-science-0.3.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "e4152cdcebf76afe66c962a105b565fc", "sha256": "3ef41272c904c92cb930a03c8269e7a303ebc095e1dd5075e2df0712508cb642" }, "downloads": -1, "filename": "colour-science-0.3.1.tar.gz", "has_sig": false, "md5_digest": "e4152cdcebf76afe66c962a105b565fc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5656815, "upload_time": "2014-09-02T19:17:23", "upload_time_iso_8601": "2014-09-02T19:17:23.478810Z", "url": "https://files.pythonhosted.org/packages/08/51/aa044313014028ff3b3bc7f57ac2e1c72ba4dd4f23ecd99e2c54d6e7ee65/colour-science-0.3.1.tar.gz", "yanked": false, "yanked_reason": null } ], "0.3.10": [ { "comment_text": "", "digests": { "md5": "f5f4cb5e676f70171a9d4201b67ec817", "sha256": "3ffbe884ede25eb42ec1ab2a185be2becea812c0870d78ee7dd45ac57d9aa86a" }, "downloads": -1, "filename": "colour_science-0.3.10-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f5f4cb5e676f70171a9d4201b67ec817", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 2861494, "upload_time": "2017-07-12T08:50:30", "upload_time_iso_8601": "2017-07-12T08:50:30.859014Z", "url": "https://files.pythonhosted.org/packages/34/28/aa90cde2b5655a770b2551b046c238441269df14baae1c082ccbad4d8e86/colour_science-0.3.10-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "a748f9d3af2a27ae8087b2dd793bed7c", "sha256": "092c16ed1e640c76ab9f7dc0dbe85a32c3c64709c6d393f88bdba0cfef574e64" }, "downloads": -1, "filename": "colour-science-0.3.10.tar.gz", "has_sig": false, "md5_digest": "a748f9d3af2a27ae8087b2dd793bed7c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10522670, "upload_time": "2017-07-12T08:50:02", "upload_time_iso_8601": "2017-07-12T08:50:02.036822Z", "url": "https://files.pythonhosted.org/packages/b3/7d/97820d8c295c70e34fac1b8a792ff307572122b44becce67117f69f811c5/colour-science-0.3.10.tar.gz", "yanked": false, "yanked_reason": null } ], "0.3.11": [ { "comment_text": "", "digests": { "md5": "cd2d6951f2197d165ffe557df2c6486c", "sha256": "d907dae8b85b4f42be8f2cc3ad94e442e284e9f107a8f0d5f0ae14c120241b80" }, "downloads": -1, "filename": "colour_science-0.3.11-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "cd2d6951f2197d165ffe557df2c6486c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 16684169, "upload_time": "2018-02-18T10:16:31", "upload_time_iso_8601": "2018-02-18T10:16:31.732685Z", "url": "https://files.pythonhosted.org/packages/40/44/8c0f6ac67e725493ff32259b8aaf23c922489ebef2c11ca53e9ddc681b4e/colour_science-0.3.11-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "48f792624b1eb0936ead79d25967f8dc", "sha256": "7c624b1f2612855a537abef92ba23694e6f789981085779a45671363c81e5bad" }, "downloads": -1, "filename": "colour-science-0.3.11.tar.gz", "has_sig": false, "md5_digest": "48f792624b1eb0936ead79d25967f8dc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25722255, "upload_time": "2018-02-18T10:15:59", "upload_time_iso_8601": "2018-02-18T10:15:59.252743Z", "url": "https://files.pythonhosted.org/packages/83/45/b9d53bd26068d8053070225ffcf6e027c83f083ef0762976cb2750f32355/colour-science-0.3.11.tar.gz", "yanked": false, "yanked_reason": null } ], "0.3.12": [ { "comment_text": "", "digests": { "md5": "d173357850a1cc9b052f54302e671e0d", "sha256": "5c47eb4ae8df4e6d40586e8c08d3771161dd7cf31c9f457526cb83147d4ff805" }, "downloads": -1, "filename": "colour_science-0.3.12-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d173357850a1cc9b052f54302e671e0d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 1451850, "upload_time": "2019-03-23T23:59:44", "upload_time_iso_8601": "2019-03-23T23:59:44.219035Z", "url": "https://files.pythonhosted.org/packages/1f/e3/ffd834be923940424b7050659de4346f3da141fbe903c6d8ff1254f1cd7c/colour_science-0.3.12-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "fa63a867fd4bd7a2aa20fed2a53aedaf", "sha256": "38b8c553b620ffd3da1754e64196efc08c70e1ea6d3cc7257b326c2a4f9d3fac" }, "downloads": -1, "filename": "colour-science-0.3.12.tar.gz", "has_sig": false, "md5_digest": "fa63a867fd4bd7a2aa20fed2a53aedaf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1181927, "upload_time": "2019-03-23T23:59:29", "upload_time_iso_8601": "2019-03-23T23:59:29.806325Z", "url": "https://files.pythonhosted.org/packages/3e/dc/5662adcdf72ead1848fe9d5d62a121b86f1d6f615535c2ef09904f4e1f53/colour-science-0.3.12.tar.gz", "yanked": false, "yanked_reason": null } ], "0.3.13": [ { "comment_text": "", "digests": { "md5": "d37cf0cdfc877cad378933d1683e1638", "sha256": "4f03919b96a055c08b4cd174878224ae89680f721e13d0cefe98ce026491bc2d" }, "downloads": -1, "filename": "colour_science-0.3.13-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d37cf0cdfc877cad378933d1683e1638", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 1461967, "upload_time": "2019-04-20T03:26:56", "upload_time_iso_8601": "2019-04-20T03:26:56.425425Z", "url": "https://files.pythonhosted.org/packages/fc/fc/747b3c3c3e26f6f1c0bd42eb52a0922d0fe9c4d0c2a229a1dfafdff73344/colour_science-0.3.13-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "69f3017d81981f249294791d58c1a047", "sha256": "5f6b25a3bdd2d5fa7bca81a1b8b1a1418cff5d238622c86449dc6b52cd2819fa" }, "downloads": -1, "filename": "colour-science-0.3.13.tar.gz", "has_sig": false, "md5_digest": "69f3017d81981f249294791d58c1a047", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1191270, "upload_time": "2019-04-20T03:26:46", "upload_time_iso_8601": "2019-04-20T03:26:46.031854Z", "url": "https://files.pythonhosted.org/packages/f1/a9/e080e9bf301e02e2127f0b64bc8035c32de059fc3ab5451c89f937c14c3e/colour-science-0.3.13.tar.gz", "yanked": false, "yanked_reason": null } ], "0.3.14": [ { "comment_text": "", "digests": { "md5": "637d031968b9ba0a9183a2454464ccb9", "sha256": "abb75c3e6e4699977401e5ff1463abff5f05b668acfaa5dd9e4d15e42ee5adbd" }, "downloads": -1, "filename": "colour_science-0.3.14-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "637d031968b9ba0a9183a2454464ccb9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*", "size": 1579003, "upload_time": "2019-10-26T10:13:48", "upload_time_iso_8601": "2019-10-26T10:13:48.462106Z", "url": "https://files.pythonhosted.org/packages/0f/5e/d6fb7e115ce3176be3901c62cb01c4189e59058fb0f1b259b54a520ec67c/colour_science-0.3.14-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "d5d2f0bd4f18bb3a5d51140bd973c312", "sha256": "7ce019150f07720f3da93504a0eea9b95a7291985bff00aaef78ff560831b92d" }, "downloads": -1, "filename": "colour-science-0.3.14.tar.gz", "has_sig": false, "md5_digest": "d5d2f0bd4f18bb3a5d51140bd973c312", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*", "size": 1250598, "upload_time": "2019-10-26T10:13:24", "upload_time_iso_8601": "2019-10-26T10:13:24.017374Z", "url": "https://files.pythonhosted.org/packages/8d/c3/e20396bb8793c4b884a0c6e87acbe4ee5685bf950caf9bb73c2e7b835674/colour-science-0.3.14.tar.gz", "yanked": false, "yanked_reason": null } ], "0.3.15": [ { "comment_text": "", "digests": { "md5": "d879b97500f7f7b26f1528292729f2b0", "sha256": "86cdc561486c51afd21bca1be354586d6d7ba360703895cb645dc5a93fe77063" }, "downloads": -1, "filename": "colour_science-0.3.15-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d879b97500f7f7b26f1528292729f2b0", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*", "size": 1593114, "upload_time": "2020-01-25T08:22:08", "upload_time_iso_8601": "2020-01-25T08:22:08.652804Z", "url": "https://files.pythonhosted.org/packages/2e/b8/a25564da5f41a2d349afb3e95f8c5d7007231450bacf433a92301b073070/colour_science-0.3.15-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "95f854eb0ce64409e308eae528fa1b47", "sha256": "5bc2c4b57cb219e9cd5c5b9432a3e9e50fdc0b434df9102b9ddf96d8d4d8ac14" }, "downloads": -1, "filename": "colour-science-0.3.15.tar.gz", "has_sig": false, "md5_digest": "95f854eb0ce64409e308eae528fa1b47", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*", "size": 1266009, "upload_time": "2020-01-25T08:21:48", "upload_time_iso_8601": "2020-01-25T08:21:48.856550Z", "url": "https://files.pythonhosted.org/packages/e0/ee/cc12cb5f285afb44ff28484bda6deca3c10c5254df86525f071019fdbda1/colour-science-0.3.15.tar.gz", "yanked": false, "yanked_reason": null } ], "0.3.16": [ { "comment_text": "", "digests": { "md5": "897c75d1084a2667ac695cbef38750da", "sha256": "a744afce45261a104dbe4ffb966d84051171429cc57c26be8cc5becc05d35cca" }, "downloads": -1, "filename": "colour_science-0.3.16-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "897c75d1084a2667ac695cbef38750da", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*", "size": 2070175, "upload_time": "2020-11-27T08:56:00", "upload_time_iso_8601": "2020-11-27T08:56:00.852959Z", "url": "https://files.pythonhosted.org/packages/1e/36/67093e50ee2438659b4fc33784d64390cadbbaa096464cb2027e5e81c8e0/colour_science-0.3.16-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "bdd862b7897012a5415f4c0cd4023aa6", "sha256": "c39884ad5f0a9a498f285284e666eed203aa518d072cca0c20aca88a17bf237c" }, "downloads": -1, "filename": "colour-science-0.3.16.tar.gz", "has_sig": false, "md5_digest": "bdd862b7897012a5415f4c0cd4023aa6", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*", "size": 1727855, "upload_time": "2020-11-27T08:55:46", "upload_time_iso_8601": "2020-11-27T08:55:46.287931Z", "url": "https://files.pythonhosted.org/packages/bd/03/01e82b56c297f304fd6026955099d6bd4932613416728e8b924b916f06b0/colour-science-0.3.16.tar.gz", "yanked": false, "yanked_reason": null } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "d31db04f4c4bbd7e23964fbba42c66fa", "sha256": "207c42547b2b2ae22ffc6f5c99168143db4c2a4b7817c6d81b317346eaab0958" }, "downloads": -1, "filename": "colour-science-0.3.2.tar.gz", "has_sig": false, "md5_digest": "d31db04f4c4bbd7e23964fbba42c66fa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9247892, "upload_time": "2014-09-03T08:31:46", "upload_time_iso_8601": "2014-09-03T08:31:46.115237Z", "url": "https://files.pythonhosted.org/packages/75/8f/74b0622a79a075bd272f35e65af0631329105214ad756bd2c396d6243c60/colour-science-0.3.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.3.3": [ { "comment_text": "", "digests": { "md5": "b0fb4c6f7563e94a949cf8c50f387a6d", "sha256": "93a836d204451103dd7b5167b89b8f7fcafe336621ec25179af9e0a80d7cc8a4" }, "downloads": -1, "filename": "colour-science-0.3.3.tar.gz", "has_sig": false, "md5_digest": "b0fb4c6f7563e94a949cf8c50f387a6d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10062373, "upload_time": "2014-10-28T17:22:46", "upload_time_iso_8601": "2014-10-28T17:22:46.406191Z", "url": "https://files.pythonhosted.org/packages/df/72/8fdd48434f48de0b42ac3177138770a723e8cccabe7c8fc07d31aa8689da/colour-science-0.3.3.tar.gz", "yanked": false, "yanked_reason": null } ], "0.3.4": [ { "comment_text": "", "digests": { "md5": "6f6697f0534eceb60a31c0127a9b2260", "sha256": "62915d88b3f4206252d9e421c8190952934630b0d233c71ea8172e04bdaf8a60" }, "downloads": -1, "filename": "colour-science-0.3.4.tar.gz", "has_sig": false, "md5_digest": "6f6697f0534eceb60a31c0127a9b2260", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10286098, "upload_time": "2015-01-27T12:49:22", "upload_time_iso_8601": "2015-01-27T12:49:22.740886Z", "url": "https://files.pythonhosted.org/packages/91/d5/d084bad9cb3448e2c8468f9a7578176d6219ec3be449943d368afad9e206/colour-science-0.3.4.tar.gz", "yanked": false, "yanked_reason": null } ], "0.3.5": [ { "comment_text": "", "digests": { "md5": "2ecb3513d5fbd53db5e085e94bd81c78", "sha256": "a4f33965a8b02c443c0c3d5e5d423f47904f8e7429f6a0afa725dde19d6c8fab" }, "downloads": -1, "filename": "colour-science-0.3.5.tar.gz", "has_sig": false, "md5_digest": "2ecb3513d5fbd53db5e085e94bd81c78", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8755469, "upload_time": "2015-05-06T11:26:23", "upload_time_iso_8601": "2015-05-06T11:26:23.287488Z", "url": "https://files.pythonhosted.org/packages/a2/c9/bc4a4019ad3db34012f018f60368958d1348168d21a55a6da81900770da7/colour-science-0.3.5.tar.gz", "yanked": false, "yanked_reason": null } ], "0.3.6": [ { "comment_text": "", "digests": { "md5": "51d7a4061f814bf8765efaba8b0ff6f6", "sha256": "34a553e6c63d25e22fdcbd8a1f73690649071bed7f79b2de8da1d544245df751" }, "downloads": -1, "filename": "colour-science-0.3.6.tar.gz", "has_sig": false, "md5_digest": "51d7a4061f814bf8765efaba8b0ff6f6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9047611, "upload_time": "2015-08-09T10:01:58", "upload_time_iso_8601": "2015-08-09T10:01:58.828079Z", "url": "https://files.pythonhosted.org/packages/97/bf/63d4c2efd7fbadcf2c63321cc9d32c5f6d45d4ba9d40b5fa11d00b7b9e55/colour-science-0.3.6.tar.gz", "yanked": false, "yanked_reason": null } ], "0.3.7": [ { "comment_text": "", "digests": { "md5": "06545e4b2e16b9b71e93988a531784cd", "sha256": "e4b1c321dc968ed5ed1f9ab59a5c5324c60c95d57db735da3832116c982c8b8c" }, "downloads": -1, "filename": "colour_science-0.3.7-py2-none-any.whl", "has_sig": false, "md5_digest": "06545e4b2e16b9b71e93988a531784cd", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 2708070, "upload_time": "2015-12-13T05:48:05", "upload_time_iso_8601": "2015-12-13T05:48:05.619275Z", "url": "https://files.pythonhosted.org/packages/73/10/b5e8b4eaf74e9dee1ed6775fffcd7d7aab402e1329dc3a5e8431b73326a7/colour_science-0.3.7-py2-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "d727c9d001566ab60b34f9fb9f7828f7", "sha256": "f51d7f515291f90b95c486c41c8dec907808cb717dfd90e168b488b6bcc0db32" }, "downloads": -1, "filename": "colour_science-0.3.7-py3-none-any.whl", "has_sig": false, "md5_digest": "d727c9d001566ab60b34f9fb9f7828f7", "packagetype": "bdist_wheel", "python_version": "3.5", "requires_python": null, "size": 2708060, "upload_time": "2015-12-13T05:55:08", "upload_time_iso_8601": "2015-12-13T05:55:08.593070Z", "url": "https://files.pythonhosted.org/packages/a1/ee/1fb724ab58087ff35c4401dfaa50ce13d91299825dfc825859a7d737d884/colour_science-0.3.7-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "d67d1f9bbb78a78f4995e25b010f6359", "sha256": "cca519b0eb018314178c6915df656f87bab51a27eeb5ce1076fa8c6640de3f77" }, "downloads": -1, "filename": "colour-science-0.3.7.tar.gz", "has_sig": false, "md5_digest": "d67d1f9bbb78a78f4995e25b010f6359", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7879423, "upload_time": "2015-12-13T05:47:47", "upload_time_iso_8601": "2015-12-13T05:47:47.632326Z", "url": "https://files.pythonhosted.org/packages/a7/69/0dd13abaac856dba256c7b80a5f4feb5dab85c8fe8134f27cb3abb6fb1f6/colour-science-0.3.7.tar.gz", "yanked": false, "yanked_reason": null } ], "0.3.8": [ { "comment_text": "", "digests": { "md5": "b70ca4d1d2bf784ac658a258821fa71f", "sha256": "ccf151535fc5c2d060b3dfb44e77dd579f30c2e81eec67ee247af571e845e9ca" }, "downloads": -1, "filename": "colour_science-0.3.8-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b70ca4d1d2bf784ac658a258821fa71f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 2805346, "upload_time": "2016-07-09T08:36:16", "upload_time_iso_8601": "2016-07-09T08:36:16.887329Z", "url": "https://files.pythonhosted.org/packages/55/eb/a5080f0ddd0c7cd6fe24dda98160a1dcc72b305a11173479a9c2f92de299/colour_science-0.3.8-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "0b059f297e66e14eb6f6d365dcd69d72", "sha256": "1234e3c8d4ac120030b605cbe1c578cb4dc2a9b9927a36efdd1bcd424c723290" }, "downloads": -1, "filename": "colour-science-0.3.8.tar.gz", "has_sig": false, "md5_digest": "0b059f297e66e14eb6f6d365dcd69d72", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13059504, "upload_time": "2016-07-09T08:29:48", "upload_time_iso_8601": "2016-07-09T08:29:48.878767Z", "url": "https://files.pythonhosted.org/packages/8c/f1/cbd5e2c29c903a2d347ebb516a7aa5e80d1449e19509d8fce1577516c807/colour-science-0.3.8.tar.gz", "yanked": false, "yanked_reason": null } ], "0.3.9": [ { "comment_text": "", "digests": { "md5": "b2361e9449505d0278f78e30d82a7d2f", "sha256": "f820e4101d1e721fe0f570f3e151cf2bc0ac1076d96ac3478b7f9329a1742c8c" }, "downloads": -1, "filename": "colour_science-0.3.9-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "b2361e9449505d0278f78e30d82a7d2f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 2826716, "upload_time": "2017-03-12T04:30:00", "upload_time_iso_8601": "2017-03-12T04:30:00.861540Z", "url": "https://files.pythonhosted.org/packages/0b/91/a933f461189d11a00148e38847591ea30ff9038240c00238cf9ed1fc5160/colour_science-0.3.9-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "1d6a1292bbf52ec32d27403d17045679", "sha256": "3b7e5a6464b3a6e8760c998472f99c360e7357af8f4cbbbe5ab85bf9902c299b" }, "downloads": -1, "filename": "colour-science-0.3.9.tar.gz", "has_sig": false, "md5_digest": "1d6a1292bbf52ec32d27403d17045679", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14153072, "upload_time": "2017-03-12T04:31:15", "upload_time_iso_8601": "2017-03-12T04:31:15.221242Z", "url": "https://files.pythonhosted.org/packages/07/5c/ee20de533630f38fadddf6ee124c1325d49fc7cc4b2b2dfcce5822d2f2e1/colour-science-0.3.9.tar.gz", "yanked": false, "yanked_reason": null } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "79220a52a642b35db01dad36ae7db3a5", "sha256": "ab2af4f8770e099e8be707285d7f827ae16646626f1c4ce0d1205cb71429d61d" }, "downloads": -1, "filename": "colour_science-0.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "79220a52a642b35db01dad36ae7db3a5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.8,<3.11", "size": 2216123, "upload_time": "2022-02-20T05:47:49", "upload_time_iso_8601": "2022-02-20T05:47:49.212282Z", "url": "https://files.pythonhosted.org/packages/13/5f/a8f6029f0433b342739233dc25e9e889e17340dd412f422d6e41bdbb113c/colour_science-0.4.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "4c3b87ae1512e9fc332981f39de65484", "sha256": "709f9d1228c46b34e961d2ae4b82c8a97b261ba8534f3301d54aa3fec75b54da" }, "downloads": -1, "filename": "colour-science-0.4.0.tar.gz", "has_sig": false, "md5_digest": "4c3b87ae1512e9fc332981f39de65484", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.8,<3.11", "size": 1850804, "upload_time": "2022-02-20T05:47:30", "upload_time_iso_8601": "2022-02-20T05:47:30.094702Z", "url": "https://files.pythonhosted.org/packages/d9/25/771a15ca8bee3d9759adcd8dbbec4e284cd37df8c1e529756bb214aeb13e/colour-science-0.4.0.tar.gz", "yanked": false, "yanked_reason": null } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "8d3fe295f8eb2aff1694e44a5cb03454", "sha256": "dd5a451f0046522706f79ba2a279d0398d089c68ef88ad83b7e020c5d0afeea5" }, "downloads": -1, "filename": "colour_science-0.4.1-py3-none-any.whl", "has_sig": false, "md5_digest": "8d3fe295f8eb2aff1694e44a5cb03454", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.8,<3.11", "size": 2216217, "upload_time": "2022-02-25T23:43:07", "upload_time_iso_8601": "2022-02-25T23:43:07.675975Z", "url": "https://files.pythonhosted.org/packages/2e/f3/291f750c3aecc272bbe3cf7e22d0571c3fabb7653a0a8574c4ef90f2cd87/colour_science-0.4.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "caa67968867fceceb100987a3eaf324c", "sha256": "3aa7784683c708a7bed0980f06e2f0af4360d6475472a8296173b37c8102d839" }, "downloads": -1, "filename": "colour-science-0.4.1.tar.gz", "has_sig": false, "md5_digest": "caa67968867fceceb100987a3eaf324c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.8,<3.11", "size": 1850978, "upload_time": "2022-02-25T23:42:53", "upload_time_iso_8601": "2022-02-25T23:42:53.285348Z", "url": "https://files.pythonhosted.org/packages/0c/02/ec518f72c009d942d20011ee290348c389882c28337b828654929b25fdf1/colour-science-0.4.1.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "8d3fe295f8eb2aff1694e44a5cb03454", "sha256": "dd5a451f0046522706f79ba2a279d0398d089c68ef88ad83b7e020c5d0afeea5" }, "downloads": -1, "filename": "colour_science-0.4.1-py3-none-any.whl", "has_sig": false, "md5_digest": "8d3fe295f8eb2aff1694e44a5cb03454", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.8,<3.11", "size": 2216217, "upload_time": "2022-02-25T23:43:07", "upload_time_iso_8601": "2022-02-25T23:43:07.675975Z", "url": "https://files.pythonhosted.org/packages/2e/f3/291f750c3aecc272bbe3cf7e22d0571c3fabb7653a0a8574c4ef90f2cd87/colour_science-0.4.1-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "caa67968867fceceb100987a3eaf324c", "sha256": "3aa7784683c708a7bed0980f06e2f0af4360d6475472a8296173b37c8102d839" }, "downloads": -1, "filename": "colour-science-0.4.1.tar.gz", "has_sig": false, "md5_digest": "caa67968867fceceb100987a3eaf324c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.8,<3.11", "size": 1850978, "upload_time": "2022-02-25T23:42:53", "upload_time_iso_8601": "2022-02-25T23:42:53.285348Z", "url": "https://files.pythonhosted.org/packages/0c/02/ec518f72c009d942d20011ee290348c389882c28337b828654929b25fdf1/colour-science-0.4.1.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }