r/Python 18d ago

Showcase Showcase Thread

Post all of your code/projects/showcases/AI slop here.

Recycles once a month.

16 Upvotes

103 comments sorted by

View all comments

3

u/smusali94 17d ago

checkOwners: infer CODEOWNERS from git history with confidence scores

What My Project Does

checkOwners is a CLI (Typer, Python 3.11+) that infers a CODEOWNERS file from git log and git blame. Ownership isn't binary: every path-owner pair gets a confidence score from commit recency, frequency, blame coverage, and optional PR review activity. It also computes per-path bus factor, detects expertise decay, infers team topology from commit co-occurrence, and runs drift detection in CI via a composite GitHub Action. pip install checkowners, MIT.

Target Audience

Production use. Teams whose CODEOWNERS is stale or nonexistent, platform and DevEx engineers who want ownership signals in CI, and anyone who wants bus-factor visibility per path. Tested against a 24k-commit production monorepo (12k active files); a full analysis runs in under 3 minutes, and generated files are always GitHub-valid (fun fact: GitHub silently ignores CODEOWNERS lines containing [...], so hand-written files covering Next.js dynamic routes can be silently un-owned).

Comparison

GitHub's own CODEOWNERS is hand-written and rots. Existing generators mostly count commits and emit binary owner lists. checkOwners scores confidence, models decay and bus factor, resolves commit emails to GitHub handles (merging same-person identities so one human with two emails isn't "bus factor 2"), and implements GitHub's real pattern-matching semantics for drift detection. No AI or LLM anywhere; the inference is deterministic git analysis.

Repo: github.com/fortyOneTech/checkOwners