Nine proven formulas
ARI, Coleman-Liau, Dale-Chall, Flesch, Flesch-Kincaid, Gunning Fog, Linsear Write, SMOG, and Spache. Each has its own page explaining what it measures, when to use it, and where it falls short.
pip install readscorePass text to Readability, then call any metric method. Each method returns a typed result object.
from readscore import Readability
text = """Plain language means writing that your audience can understand the first timethey read it. Short sentences help. Common words help more. You do not need tosimplify your ideas — just the way you express them. Jargon and long sentencesslow people down and make them feel excluded. Simple writing is not dumbed-downwriting. It is respectful writing. Federal agencies, healthcare providers, andlegal teams use readability formulas to check whether documents reach theirintended audience. Running a check takes seconds. readscore gives you nineproven formulas in one Python library with a consistent API."""
r = Readability(text)
flesch = r.flesch()print(flesch.score) # ~74.3print(flesch.ease) # 'fairly_easy'print(flesch.grade_level) # '7'
fk = r.flesch_kincaid()print(fk.score) # ~7.2print(fk.grade_level) # '7'
# All nine metrics use the same patternr.ari()r.smog()r.gunning_fog()r.dale_chall()r.coleman_liau()r.linsear_write()r.spache()
# Access raw text statisticsprint(r.stats.num_words) # 107print(r.stats.avg_syllables_per_word) # 1.4Nine proven formulas
ARI, Coleman-Liau, Dale-Chall, Flesch, Flesch-Kincaid, Gunning Fog, Linsear Write, SMOG, and Spache. Each has its own page explaining what it measures, when to use it, and where it falls short.
Typed, structured results
Every metric returns a frozen dataclass. Fields are documented. Results are comparable by score. No parsing strings or digging through raw dicts.
Text statistics included
r.stats gives you word count, sentence count, syllable count, polysyllabic word count, and more — computed once at construction and shared across all metric calls.
Extensible
Subclass BaseMeasure to add your own metric. It receives the same StatSummary the built-in metrics use and fits the same interface.
readscore is the scoring engine behind Plain License tools, including the in-development plainr CLI. It is designed to run in CI pipelines, scripts, and anywhere Python runs.
The library is a modernized fork of py-readability-metrics by Carmine DiMascio.