{"slug": "black", "name": "Black", "category": "other", "category_name": "Other software", "description": "", "recommenders": 2, "commenters": 3, "warners": 1, "score": 1.003, "rising": 2.0, "first": "2026-07-26", "latest": "2026-10-20", "why": "Virtually every modern python developer uses an auto formatter today, and never needs to think about it (ruff, black).", "why_is_quote": true, "has_verdict": false, "sentiment": {"recommend": 2, "neutral": 0, "compare": 0, "warn": 1}, "spark": [0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1], "listed": false, "loved": [], "caveat": "", "short_quote": "Virtually every modern python developer uses an auto formatter today, and never needs to think about it (ruff, black).", "icon": false, "domain": null, "github_repo": null, "official_url": "", "pricing": "", "aliases": ["Black", "black"], "verdict": null, "praise": [{"label": "", "summary": "", "quotes": [{"id": 802789089, "item_id": 50174318, "url": "https://news.ycombinator.com/item?id=50174318", "by": "throwaway219450", "date": "2026-10-20", "stance": "recommend", "quote": "I use black/ruff on a lot of projects", "excerpt": "I was talking about a function with 100 lines and no line breaks. Very difficult to read. I use black/ruff on a lot of projects and it will only touch standard-y things like docstring spacing, or spacing between methods and classes, import sorting etc. It doesn\u2019t touch intentional/aesthetic user spacing. With agents it is helpful to make them run ruff and mypy to keep them honest, but as long as the code adheres to t", "context": "", "use_case": "Python formatting", "switched_from": "", "story": "SlopCodeBench 10/2026 \u2013 Opus 5.5, Astra wins overall, xhigh considered harmful"}, {"id": 788258017, "item_id": 49266126, "url": "https://news.ycombinator.com/item?id=49266126", "by": "usef-", "date": "2026-08-11", "stance": "recommend", "quote": "Virtually every modern python developer uses an auto formatter today, and never needs to think about it (ruff, black).", "excerpt": "Virtually every modern python developer uses an auto formatter today, and never needs to think about it (ruff, black). It's not ambiguous and is immediately visible if something has the wrong indent. (I often wish other languages I use had formatters as good and standard as the Python ecosystem)", "context": "", "use_case": "Python auto-formatting", "switched_from": "", "story": "Mojo 1.0 Is Here"}]}], "caveats": [{"label": "", "summary": "", "quotes": [{"id": 784979425, "item_id": 49061214, "url": "https://news.ycombinator.com/item?id=49061214", "by": "brewmarche", "date": "2026-07-26", "stance": "warn", "quote": "IMO it\u2019s insane to collapse lines when there are line comments.", "excerpt": "FWIW, ruff sees your line comment and keeps each item on its line. It only adds a trailing comma and additional space. It also does not collapse lines when there\u2019s a trailing comma. Your output seems to be from black. IMO it\u2019s insane to collapse lines when there are line comments. $ uvx ruff format --diff formatting.py --- formatting.py +++ formatting.py @@ -1,8 +1,4 @@ -no_comma = { - \"x\": 3, - \"y\": 42, - \"z\": 2 -} ", "context": "", "use_case": "Python formatting", "switched_from": "", "story": "Ruff v0.16.0 \u2013 Significant new updates \u2013 413 default rules up from 59"}]}], "who": [], "tags": [], "use_cases": ["python formatting", "python auto-formatting"], "compared": [{"slug": "ruff", "name": "Ruff", "co": 4, "switched_from": 0, "switched_to": 1}, {"slug": "mypy", "name": "mypy", "co": 2, "switched_from": 0, "switched_to": 0}], "makers": [], "threads": [{"url": "https://news.ycombinator.com/item?id=50108717", "title": "SlopCodeBench 10/2026 \u2013 Opus 5.5, Astra wins overall, xhigh considered harmful", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=49261128", "title": "Mojo 1.0 Is Here", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=49056112", "title": "Ruff v0.16.0 \u2013 Significant new updates \u2013 413 default rules up from 59", "mentions": 1}], "sentiment_by_month": {"2025-11": {}, "2025-12": {}, "2026-01": {}, "2026-02": {}, "2026-03": {}, "2026-04": {}, "2026-05": {}, "2026-06": {}, "2026-07": {"warn": 1}, "2026-08": {"recommend": 1}, "2026-09": {}, "2026-10": {"recommend": 1}}, "quotes": [{"id": 802789089, "item_id": 50174318, "url": "https://news.ycombinator.com/item?id=50174318", "by": "throwaway219450", "date": "2026-10-20", "stance": "recommend", "quote": "I use black/ruff on a lot of projects", "excerpt": "I was talking about a function with 100 lines and no line breaks. Very difficult to read. I use black/ruff on a lot of projects and it will only touch standard-y things like docstring spacing, or spacing between methods and classes, import sorting etc. It doesn\u2019t touch intentional/aesthetic user spacing. With agents it is helpful to make them run ruff and mypy to keep them honest, but as long as the code adheres to t", "context": "", "use_case": "Python formatting", "switched_from": "", "story": "SlopCodeBench 10/2026 \u2013 Opus 5.5, Astra wins overall, xhigh considered harmful"}, {"id": 788258017, "item_id": 49266126, "url": "https://news.ycombinator.com/item?id=49266126", "by": "usef-", "date": "2026-08-11", "stance": "recommend", "quote": "Virtually every modern python developer uses an auto formatter today, and never needs to think about it (ruff, black).", "excerpt": "Virtually every modern python developer uses an auto formatter today, and never needs to think about it (ruff, black). It's not ambiguous and is immediately visible if something has the wrong indent. (I often wish other languages I use had formatters as good and standard as the Python ecosystem)", "context": "", "use_case": "Python auto-formatting", "switched_from": "", "story": "Mojo 1.0 Is Here"}, {"id": 784979425, "item_id": 49061214, "url": "https://news.ycombinator.com/item?id=49061214", "by": "brewmarche", "date": "2026-07-26", "stance": "warn", "quote": "IMO it\u2019s insane to collapse lines when there are line comments.", "excerpt": "FWIW, ruff sees your line comment and keeps each item on its line. It only adds a trailing comma and additional space. It also does not collapse lines when there\u2019s a trailing comma. Your output seems to be from black. IMO it\u2019s insane to collapse lines when there are line comments. $ uvx ruff format --diff formatting.py --- formatting.py +++ formatting.py @@ -1,8 +1,4 @@ -no_comma = { - \"x\": 3, - \"y\": 42, - \"z\": 2 -} ", "context": "", "use_case": "Python formatting", "switched_from": "", "story": "Ruff v0.16.0 \u2013 Significant new updates \u2013 413 default rules up from 59"}]}