Avouch - Git-aware Python code review for your diff
Show HN: I canceled my AI code reviewer and wrote a free local one
Avouch is a lightweight, Git-aware static analysis CLI for Python that reviews only the files you've changed, not your entire legacy codebase. It uses the standard library's AST module to detect structural issues like excessive parameters or bare excepts, with exact metrics and configurable rules. No daemon, no network, just run it before `git push` to catch problems early. It supports JSON output for CI integration, quiet mode for hooks, and works standalone with `--not-git`. Install via `pip install avouch` and start reviewing your diffs in seconds.
Review the Python you changed, not the Python you inherited.
- ramon156
how is tjis better than (OpenCode|Pi|CC|Codex) that had a Reviewer agent? the whole idea of e.g. CodeRabbit is that it allows to review PRs autonomously. making it local defeats the purpose.
it doesnt help that these projects have AI generated README's. Not AI-assisted, or AI-curated, but fully generated. it's a bunch of sentences that say nothing. "the diff is whats reviewed". okay, what about per-commit reviews? does it keep context of that? just diffs isnt enough to review a PR, it just sounds efficient but youre leaving a lot of context out, so the reviewer will have trouble confidently reviewing your changes.
- DemolitionMan
I can't quite figure out what distinguishes it from other similar projects—and, above all, what problem it solves.
- StableAlkyne
I've never seen this idiom before:
try:
AVOUCH_VERSION = importlib.metadata.version("avouch")
except importlib.metadata.PackageNotFoundError:
AVOUCH_VERSION = "0.3.2"
What's the intended purpose? It seems to be protecting against a scenario where the package is not installed but the CLI is somehow running...
...But that seems like a very odd thing to be concerned about. Plus, unless I'm missing something, the program will crash with an an ImportError before that block can ever run.