[{"data":1,"prerenderedAt":235},["ShallowReactive",2],{"project-9250891":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":14,"tier":18,"category":19,"subcategory":20,"format":21,"keywords":22,"reception":28,"sentiment":29,"stance_mix":30,"scored_comments":35,"aspects":36,"strip":40,"post_text":42,"what":43,"said":89,"maker_in_thread":157,"shape":165,"grid":169,"attempts":196,"same_week":197,"maker_shows":31,"maker_hidden":227,"reader_version":228,"card":229},"9250891","Spectra","Spectra – Python color scales made easy","title","Show HN: Spectra – Python color scales made easy","https:\u002F\u002Fgithub.com\u002Fjsvine\u002Fspectra","github.com","jsvine",1427119251,2015,33,13,846,2565,"shown","languages","color library","library",[23,24,25,26,27],"python color scales","colormap","color conversion","lab color","colormath","roasted",-0.143,{"positive":31,"neutral":32,"mixed":33,"critical":34},2,1,0,3,6,{"idea":37,"docs":38,"execution":39},{"positive":31,"critical":33},{"positive":33,"critical":31},{"positive":33,"critical":32},[34,33,41,33,41,33,32,33,33,32,33,32,33],5,null,{"problem":44,"audience":58,"pricing":42,"motivation":65,"time_to_build":42,"stack":69,"openness":87,"stage":88,"team_size":87},{"value":45,"source":46,"evidence":47},"Verbose color-space APIs and matplotlib colormaps that do not suit some visualizations","commenter",[48,52,55],{"id":49,"by":50,"text":51},"9251020","japhyr","This looks really useful. I've played around with colormaps in a few visualization projects, but I've never made the time to learn about the various color packages. What does…",{"id":53,"by":11,"text":54},"9251078","Thanks! Colormath does an amazing job handling the mathematical conversions between color spaces, but has (at least to me) a somewhat verbose API. Spectra wraps that API in…",{"id":56,"by":50,"text":57},"9251201","I'm most excited about the color scales. It looks like a helpful tool for situations where the standard colormaps in matplotlib\u002Fpyplot don't work well. Is that an appropriate use…",{"value":59,"source":60,"evidence":61},"Python programmers making visualizations such as choropleth maps","maker",[62],{"id":63,"by":11,"text":64},"9251251","> It looks like a helpful tool for situations where the standard colormaps in matplotlib\u002Fpyplot don't work well. Is that an appropriate use case? Yes, that's definitely the type…",{"value":66,"source":60,"evidence":67},"Simplify colormath's verbose API and add scales, ranges, blending and saturation helpers",[68],{"id":53,"by":11,"text":54},[70,76,79,83],{"value":71,"source":72,"evidence":73},"Python","inferred",[74],{"id":75},"post",{"value":27,"source":60,"evidence":77},[78],{"id":53,"by":11,"text":54},{"value":80,"source":60,"evidence":81},"grapefruit",[82],{"id":53,"by":11,"text":54},{"value":84,"source":60,"evidence":85},"IPython notebook",[86],{"id":63,"by":11,"text":64},"unknown","launched",{"praise":90,"objections":100,"requests":121,"questions":130,"alternatives":139},[91,96],{"value":92,"source":46,"evidence":93},"Useful library for color scales",[94,95],{"id":49,"by":50,"text":51},{"id":56,"by":50,"text":57},{"value":97,"source":46,"evidence":98},"Documentation in nbviewer is a good fit",[99],{"id":56,"by":50,"text":57},[101,108,115],{"value":102,"source":46,"evidence":103},"Docs live on an external site and lack docstrings",[104],{"id":105,"by":106,"text":107},"9251520","ekimekim","Unrelated to the library itself: I dislike when python projects have an external website containing the docs, and have no docstrings in the code itself. Not only is the code…",{"value":109,"source":46,"evidence":110},"Specification was unclear about color space and parameters",[111],{"id":112,"by":113,"text":114},"9251942","mark-r","Doesn't seem terribly well specified. Is the rgb space actually sRGB? And what is the parameter to brighten\u002Fdarken\u002Fsaturate\u002Fdesaturate?",{"value":116,"source":46,"evidence":117},"Out-of-gamut behaviour was unspecified",[118],{"id":119,"by":113,"text":120},"9252658","What happens when the adjusted color goes out of gamut?",[122,126],{"value":123,"source":46,"evidence":124},"Add docstrings to the code",[125],{"id":105,"by":106,"text":107},{"value":127,"source":46,"evidence":128},"Document color space and adjustment parameters",[129],{"id":112,"by":113,"text":114},[131,135],{"value":132,"source":46,"evidence":133},"Does this suit cases where matplotlib colormaps fail?",[134],{"id":56,"by":50,"text":57},{"value":136,"source":46,"evidence":137},"What does it add over colormath and grapefruit?",[138],{"id":49,"by":50,"text":51},[140,147,150,153],{"value":141,"source":46,"evidence":142},"OpenColorIO with Python bindings",[143],{"id":144,"by":145,"text":146},"9251141","hellomrjack","Looks like a very useful little library. Although, have you looked at OpenColourIO and its Python bindings? It is the VFX industry standard for working with colour spaces, most…",{"value":27,"source":46,"evidence":148},[149],{"id":49,"by":50,"text":51},{"value":80,"source":46,"evidence":151},[152],{"id":49,"by":50,"text":51},{"value":154,"source":46,"evidence":155},"matplotlib colormaps",[156],{"id":56,"by":50,"text":57},{"comments":158,"answered":41,"key":159},7,[160,163,164],{"id":161,"text":162},"9251236","I hadn't heard of OpenColourIO; it looks fascinating and quite powerful. Thanks for the tip!",{"id":53,"text":54},{"id":63,"text":64},{"commenters":41,"max_depth":166,"maker_replies":158,"first_comment_mins":167,"lifespan_hours":168},4,19,157,[170,172,174,176,178,179,180,182,185,187,188,191,193],[144,33,34,171,145,33],"project\u002Fneutral\u002Fidea",[161,33,33,173,11,32],"commenter\u002Fneutral\u002Fnone",[49,32,41,175,50,33],"project\u002Fpositive\u002Fidea",[53,32,33,177,11,32],"project\u002Fpositive\u002Fdesign",[56,32,41,175,50,33],[63,32,33,171,11,32],[105,31,32,181,106,33],"project\u002Fcritical\u002Fdocs",[183,31,33,184,11,32],"9251539","maker\u002Fpositive\u002Fdocs",[186,31,33,184,11,32],"9287374",[112,34,32,181,113,33],[189,34,33,190,11,32],"9252049","project\u002Fneutral\u002Fdocs",[119,34,32,192,113,33],"project\u002Fcritical\u002Fexecution",[194,34,33,195,11,32],"9252973","project\u002Fneutral\u002Fexecution",[],[198,203,208,213,218,222],{"id":199,"name":200,"points":201,"category":202},"9249112","Rabbits",256,"web_saas",{"id":204,"name":205,"points":206,"category":207},"9262260","Fiddle.md",129,"productivity",{"id":209,"name":210,"points":211,"category":212},"9250493","Madeon's Adventure Machine",85,"creative",{"id":214,"name":215,"points":216,"category":217},"9243085","Firesize",58,"infrastructure",{"id":219,"name":220,"points":221,"category":207},"9233095","Stripe for Gmail",56,{"id":223,"name":224,"points":225,"category":226},"9257821","connoratherton.com",49,"dev_tools",false,"v2",{"id":230,"name":5,"line":6,"ai":227,"cat":19,"year":13,"points":14,"comments":15,"rec":28,"s":231,"top":14,"kw":232,"maker":11,"domain":10,"tier":18,"attempts":33,"strip":233,"url":9,"mix":234,"praise":92,"objection":102,"sub":20},9250891,-0.14,[23,24,25,26,27],"3050501001010",[31,32,33,34],1794036529653]