finds.dev← search

// the find

asottile/add-trailing-comma

★ 373 · Python · MIT · updated Jul 2026

A tool (and pre-commit hook) to automatically add trailing commas to calls and literals.

A Python AST-aware formatter that adds trailing commas to multi-line calls, definitions, imports, and literals. Ships as a pre-commit hook. Does one thing and does it well — if you care about cleaner diffs when adding or removing arguments, this is exactly the tool.

Works at the token level, not just regex, so it handles edge cases like `*args`/`**kwargs` correctly (skips them). Plugin architecture per syntax construct keeps the code organized and makes it easy to see exactly what rules apply. Covers modern Python syntax including match statements and PEP-695 type parameters, so it won't lag behind the language. The 'unhug' reformatter that also fixes misaligned opening parens is a nice bonus that black doesn't do.

373 stars after what appears to be years of existence suggests the audience is niche — most teams just defer to black or ruff, which overlap somewhat. No integration with ruff's formatter means you may end up fighting between tools if you run both. The 'remove unnecessary commas' feature is a footgun if you're not paying attention — the tool named for adding commas also removes them under some conditions. Setup still uses setup.cfg/setup.py rather than pyproject.toml, which is a minor but dated smell.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →