1.4k stars · MIT · 0.7.13 (2026-02-18) · Track this in Scout
One number that says whether the page you just wrote can be read by the person you wrote it for.
▶Repo detailsthe review · specs · pros & cons
What it is
A small Python library that scores a block of text for readability — Flesch Reading Ease, Flesch–Kincaid grade level, SMOG, Gunning fog and a dozen more — along with syllable, word and sentence counts. It supports several languages, Russian among them.
What it is good for. A product that promises clarity has to read clearly itself. A landing page written at postgraduate density quietly contradicts that promise before anyone clicks Sign up, and no analytics tool will ever tell you that is the reason. This gives you one number per page, cheap enough to compute for every page on every build, so you can watch the trend rather than argue about a paragraph. It also grades video scripts, which is where sentence density costs most directly — retention drops on complexity long before viewers leave a comment about it. Pair it with GoAccess (Ed.8 #4): rewrite the hero, watch the grade level drop, watch what happens to bounce.
- One
pip install, no models, no downloads, runs in milliseconds — the lowest-friction item on this page. - Handles Russian as well as English, so both halves of the site get the same treatment.
- MIT and tiny, so it can sit inside an application itself as a per-document statistic if you ever want it as a feature.
- Readability formulas count syllables, not clarity. A precise, well-written technical paragraph can legitimately score "difficult" — the number is a prompt to reread, never a target to optimise.
- Russian formula coverage is thinner and less validated than English; treat the Russian scores as relative, not absolute.
- Small library, modest maintenance cadence — fine for a scoring script, less so as a load-bearing product dependency.

