python Code Health
13 open-source python repositories analyzed by activity-weighted risk — complexity × recent commit frequency. Sorted highest risk first.
graphify's extract layer carries the highest activity risk — 2 functions to address first
graphify's extraction layer is carrying extreme structural complexity while being actively changed — a combination that makes regressions likely with every commit touching extract.py.
CowAgent's LLM protocol layer carries the highest activity risk — 2 functions to address first
Two functions in CowAgent are both structurally extreme and changing right now — CC 120+ with nesting 7–11 deep, touched repeatedly in the last 30 days. That combination makes regressions a live risk rather than a cleanup backlog item.
langextract's batch provider and extraction carry the highest activity risk — 5 hotspots
langextract's core extraction and OpenAI batch provider are both structurally overloaded and actively changing right now — a combination that puts live regression risk on the table, not just future cleanup. With 72 critical-band functions across 348 total, the codebase has meaningful structural debt concentrated in exactly the modules users interact with most.
minimind's RL trainers carry the highest activity risk — 3 functions to address first
minimind's RL training layer is both its most complex and most actively changing code — two trainer functions at CC 52 with commits landing days ago, making refactoring a live risk.
ai-hedge-fund's frontend layer carries the highest activity risk — 3 files to address first
All five of ai-hedge-fund's top hotspots sit in the frontend layer — and every one is a god function flagged as structural debt with a blast radius waiting to be triggered.
exo's benchmarking layer carries the highest activity risk — 5 functions to address first
exo has 191 critical functions out of 1,549 — and its highest-risk hotspot is a god-function with cyclomatic complexity of 93 that's actively changing right now, making it a live regression risk.
MediaCrawler's JS bundle dominates the top 5 hotspots — exclude to surface Python risk
Every top hotspot in MediaCrawler lives inside a single minified JS bundle — meaning the real Python risk profile is entirely hidden until that file is excluded from analysis.
awesome-claude-code's scripts carry the highest activity risk — 5 to address first
The scripts powering awesome-claude-code's automation are its riskiest code right now: process_resources has a cyclomatic complexity of 59 and is actively changing — a live regression risk hiding in p
ChatTTS's scheduler carries the highest activity risk — 5 functions to address first
ChatTTS has 40 critical-band functions across 440 total, with its inference and scheduling layer accumulating structural debt that will bite hard the next time anyone opens those files.
textgen's chat layer carries the highest activity risk — 3 functions to address first
textgen's chat prompt builder has a cyclomatic complexity of 152 and is actively changing right now — a live regression risk hiding in plain sight inside a single Python function.
qlib's init and model layer carry the highest structural risk — 5 to refactor first
qlib's highest-risk functions aren't being actively changed right now — they're structural debt accumulating blast radius. Five god functions with CC scores up to 58 are overdue for refactoring before
Scrapling's engine layer — 5 functions with the highest activity-weighted risk
Two files in Scrapling's engine layer account for the codebase's highest structural risk — and the top-ranked function has been touched 6 times in the last 30 days with a cyclomatic complexity of 41.
nanobot's message and CLI layers carry the highest activity risk — 2 functions to address first
nanobot's top two hotspots are both complex AND changing right now — one was touched today. That combination makes them live regression risks, not backlog items.