Fable Converted Pylint to Rust

The old code cop got a turbo makeover, and the internet instantly started fighting

TLDR: Fable says it rebuilt a popular Python code checker in Rust and made it dramatically faster without changing the results, even copying the original bugs. The community immediately split between impressed speed fans and skeptics calling it pointless, eerie, or just Ruff in disguise.

A tiny software earthquake just hit the Python world: Fable says it rebuilt Pylint—a popular code checker used by developers to catch mistakes—in Rust, and the result is the same output but wildly faster. We’re talking anywhere from 15 to 2,300 times quicker, while still copying the original tool so closely it even keeps the same bugs, crashes, and that oddly judgmental “your code has been rated” score at the end. For some developers, that level of copy-paste faithfulness is impressive. For others, it’s downright eerie.

And oh, the comments were not calm. One baffled reader basically asked: why would anyone want a tool to be identical down to the mistakes? Another went full cynic, saying these “conversion projects” often feel like flashy showpieces that get abandoned the second the applause dies down. Translation: cool demo, but will anyone trust it next year?

Then came the Ruff drama. Ruff is another fast Python tool, and one commenter sneered that this is basically “Ruff’s Pylint mode, but worse,” while another delivered the brutal mic-drop: “look inside > ruff.” That sparked the biggest mood of the thread—was this a heroic speed miracle, or just a fancy wrapper borrowing someone else’s engine?

And because the internet can never resist chaos, one joker pretended the speedup was so extreme it had become a national security issue, complete with fake government restrictions and “10k zero-days.” In classic comment-section fashion, the software news was interesting—but the real entertainment was watching people argue over whether this is genius, pointless, or just glorified recycling.

Key Points

  • The article presents prylint as a Rust port of pylint 4.0.5 that reproduces pylint output byte-for-byte, including errors, ordering, exit codes, and score footer.
  • It says prylint was verified against real pylint on 52 production codebases totaling about 65,000 Python files.
  • The tool is described as a drop-in replacement installed via pip, requiring Python 3.9+ only for module-resolution parity and exact syntax-error reproduction.
  • Benchmark results in the article report speedups from 15× to 2300×, with a median per-repository speedup of about 85× and an aggregate of roughly 560× across 27 large repositories.
  • The implementation is described as using the Ruff parser plus an exact port of astroid’s inference engine, validated through differential testing against pinned versions of pylint, astroid, and CPython.

Hottest takes

"There’s no paper or explanation as to why the output should be identical" — ma2kx
"ruff check --select=PL but worse in every single way" — Hamuko
"look inside > ruff" — monax
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.