Example use:
$ find ~/src/home-svn -type f -name '*.py' -print0 | line-lengths-summary
minimum 1
maximum 406
range 405
count 250263
sum 8603489
arithmetic_mean 34.377790564326325
geometric_mean 18.85801205031986
median 29
mode 1
standard_deviation 28.12986448285882
median_absolute_deviation 17
mean_absolute_deviation 21.76450985814677
74278 1 <= x < 18 ************************************************************
72472 18 <= x < 35 ***********************************************************
46763 35 <= x < 52 **************************************
27413 52 <= x < 69 **********************
14485 69 <= x < 86 ************
6550 86 <= x < 103 *****
5252 103 <= x < 120 ****
2800 120 <= x < 137 **
164 137 <= x < 154
74 154 <= x < 171
4 171 <= x < 188
1 188 <= x < 205
0 205 <= x < 222
0 222 <= x < 239
0 239 <= x < 256
0 256 <= x < 273
0 273 <= x < 290
0 290 <= x < 307
0 307 <= x < 324
0 324 <= x < 341
0 341 <= x < 358
0 358 <= x < 375
0 375 <= x < 392
7 392 <= x <= 406
It is not limited to only doing Python code. Also, it is not limited to any particular unicode encoding - both filenames and lines are treated as bytes.
You can get a quick list of files that have oversized line lengths with:
You can e-mail the author with questions or comments: