Fable Converted Pylint to Rust

(pypi.org)

32 points | by adamraudonis 5 hours ago

7 comments

  • TheChaplain 49 minutes ago
    IMHO there is little point of these conversion projects. It screams of "look at me, see what I made" and when the attention goes down a little nothing was ever pushed to the repo ever again.

    Perhaps I am out of touch, but a project with author/s that have passion for every line, function and purpose, feels more real and worth my trust to spend time using it.

    • whereistejas 4 minutes ago
      While I agree with your point in general, rewriting a big widely used project in a stricter language is always a good thing. It improves the dev-ex of people contributing to these projects and more importantly helps people seperate logic into silos. Python is inherently limited in which kinds of abstraction it can express.
    • bravetraveler 27 minutes ago
      I'd go even further: 'look at me, see what I paid for'.

      This isn't much different than the 'builder brained' coworker who is obsessed with creating technical debt, not owning it. Throwing shit at the wall and seeing what sticks, passing it off as sage wisdom.

      It'd be interesting to see the math behind offsetting the GPU crunching with more power efficient linting. Assuming every person or CI job switched (and the model stays offline), how many years are we looking at?

      • dgellow 24 minutes ago
        In this case, it’s maybe more “I can access that luxurious model you all pleb are banned from using”
    • xnickb 48 minutes ago
      I don't think you are. My first reaction was: "cool, now maintain it"
    • tuna74 22 minutes ago
      Using less electricity or time for the same result seems a pretty good point.
      • danpalmer 3 minutes ago
        Most software is not a single finished artifact though, it's a community, a process, knowledge, documentation, and mindshare. This has none of those, so by default it'll die as a project immediately.

        To gain any of those is a much bigger problem: is the code structured well enough to get contributors over? Do the contributors know Rust? What about all the open bug reports? What about the edge cases that aren't triggered by the benchmarked projects, how do you even find them?

  • voidUpdate 19 minutes ago
    Do you generally pylint an entire codebase at once though? Why not just the file you are actually working on? Based on the homeassistant results (10.3 hours to lint 17.5k files), it only takes about 2 seconds to pylint a file, which doesn't really feel like enough of a wait to need an entirely new linter
    • deviation 2 minutes ago
      They may instead be targeting folks that run it in CI.
  • ma2kx 3 hours ago
    > A Rust reimplementation of pylint that produces byte-for-byte identical output — 15–2300× faster (median ~85×).

    > prylint is not "inspired by" pylint. [...] Where pylint has bugs, prylint reproduces them. Where pylint crashes, prylint reports the same crash message.

    This looks very strange to me. There's no paper or explanation as to why the output should be identical to the real Pylint. Looking at GitHub, all the commits are by Claude, and otherwise, adamraudonis doesn't seem to have any connection to anyone else.

    I don't want to accuse anyone of anything unjustly, but this post seems more like a kind of malware SEO. Is this project legit?

    • QuantumNomad_ 50 minutes ago
      > There's no paper or explanation as to why the output should be identical to the real Pylint.

      To be a drop-in replacement?

    • adastra22 51 minutes ago
      > There's no paper or explanation as to why the output should be identical to the real Pylint.

      Because that was the prompt they used. Seems par for the course with vibe coded projects.

    • kypro 13 minutes ago
      That caught me off guard too – is that the intention, or the actual verifiable outcome?

      Potentially if there are failing tests of known bugs in pylint then Fable could have tried to reproduce those bugs in prylint, but that doesn't necessarily mean identical behaviour – at best only identical test-time behaviour.

      Seems the vibe coder likely wanted it to "produce byte-for-byte identical output", but realistically there's no way to actually guarantee that as the description suggests.

      It's one thing to burn tokens on a project like this and share it to see if there's any interest, but quite another to make exaggerated claims about its portability.

  • monax 24 minutes ago
    *look inside* > ruff
  • Hamuko 1 hour ago
    So basically `ruff check --select=PL` but worse in every single way, maintained by a system that's not even available anymore? It even uses Ruff's code under the surface.
    • short_sells_poo 6 minutes ago
      > It even uses Ruff's code under the surface.

      This is the modus operandi for a lot of vibe coded stuff. Absorb the code of entire projects wholesale and then repackage it as something new.

      Some of them have the decency to at least give credits to the original.

  • pbgcp2026 1 hour ago
    ... and Mythos just found 10k of zero-days. Dept of trading issued an order to restrict foreigners access to PyLint. /s