4 comments

  • cozzyd 523 days ago
    What advantage does this have over a debugger?

    (To be fair, in my experience, lots of python users have no idea what a debugger is...)

    • xLaszlo 515 days ago
      Thanks for the comments.

      I don't have anything against debuggers, but I feel more natural to write into the code and this simplifies it.

      TBH I haven't tried this or snoop heavily and the project was more of a curiosity of how the internals of python work after I found a relevant SO post.

      Honestly I was surprised how easy it was.

      If you actually want to use something like this use snoop: https://pypi.org/project/snoop/ it is more feature rich and maintained.

    • martinky24 523 days ago
      Lots of people still print debug. That’s ok.
    • notnmeyer 523 days ago
      same thoughts. i kind of get the utility of logging the whole application state without breakpoints or stepping through stuff (but maybe debuggers can also do this?), but my first thought was that this is simpler for folks not used to debuggers
      • dr_kiszonka 523 days ago
        It is not unusual for me to have a for-loop running for a few hours as it is processing thousands of small objects or just a few dozen of large ones. A debugger wouldn't necessarily help me in this case and this decorator would be a little easier to set up than a logger.
        • notnmeyer 521 days ago
          ah, yeah, i can see it being useful here.
    • icholy 522 days ago
      ipdb.set_trace is the best of both worlds
  • JCharante 522 days ago
    This looks pretty cool. I think this would be faster than using a debugger when doing leetcode / timed puzzles
  • awithrow 523 days ago
    nice, I do something similar with my tests to print out certain vars only when a test fails in order to get more context.
  • xLaszlo 524 days ago
    WIP: suggestions most welcome.
    • ttyprintk 524 days ago
      • xLaszlo 523 days ago
        Ahh, I never heard about it, but it looks promising.

        I will reach out to the author.

        Thanks for bringing it to my attention.

        • ttyprintk 523 days ago
          For PyTorch, there’s a TorchSnooper. In production, I’ve added both snoop and torchsnooper to flake8 banned modules.