[{"data":1,"prerenderedAt":82},["ShallowReactive",2],{"blog-black":3,"blog-black-favor-of":50},{"id":4,"title":5,"body":6,"cover_image":27,"date":28,"decidedDate":28,"decision":29,"decisionInFavorOf":30,"decisionReason":31,"description":32,"evaluatedScore":33,"extension":34,"link":27,"logoPath":27,"meta":35,"navigation":36,"path":37,"placements":38,"reviewTrigger":27,"satisfaction":27,"seo":42,"stage":43,"stem":44,"tags":45,"target":27,"type":48,"__hash__":49},"radar\u002Fradar\u002Fblack.md","Black",{"type":7,"value":8,"toc":23},"minimark",[9,13],[10,11,5],"h1",{"id":12},"black",[14,15,16,17,22],"p",{},"Rejected in favor of ",[18,19,21],"a",{"href":20},"\u002Fblog\u002Fruff","Ruff"," for formatting. A solid, opinionated formatter, but noticeably slower.",{"title":24,"searchDepth":25,"depth":25,"links":26},"",2,[],null,"2026-08-08","reject","ruff","Rejected in favor of the Ruff formatter. Speed was the deciding factor.","Python code formatter, rejected in favor of Ruff.",3,"md",{},true,"\u002Fradar\u002Fblack",[39],{"category":40,"subCategory":41},"tools","python_tooling",{"title":5,"description":32},"trial","radar\u002Fblack",[12,46,47],"python","formatting","tech_report","wt5NhzrytwXELT6entjxkcKlx2aTvcualmY9BErpEkM",{"id":51,"title":21,"body":52,"cover_image":27,"date":28,"decidedDate":28,"decision":65,"decisionInFavorOf":27,"decisionReason":66,"description":67,"evaluatedScore":68,"extension":34,"link":69,"logoPath":27,"meta":70,"navigation":36,"path":71,"placements":72,"reviewTrigger":27,"satisfaction":74,"seo":75,"stage":43,"stem":76,"tags":77,"target":80,"type":48,"__hash__":81},"radar\u002Fradar\u002Fruff.md",{"type":7,"value":53,"toc":63},[54,56],[10,55,21],{"id":30},[14,57,58,59,62],{},"Lints and formats Python, replacing ",[18,60,5],{"href":61},"\u002Fblog\u002Fblack"," for formatting. Written in Rust, and it shows — the speed difference is not subtle.",{"title":24,"searchDepth":25,"depth":25,"links":64},[],"adopt","Adopted as formatter in favor of Black. Speed is the whole story here — a linter and formatter fast enough to stop noticing it runs at all.","Python linter and formatter, adopted in favor of Black.",4,"https:\u002F\u002Fdocs.astral.sh\u002Fruff\u002F",{},"\u002Fradar\u002Fruff",[73],{"category":40,"subCategory":41},5,{"title":21,"description":67},"radar\u002Fruff",[30,46,47,78,79],"linting","astral","_blank","sTQ6uGK3ByTQyQs7IgJlHtf7JwdchCkmScSd01ky4eY",1790263541639]