Show HN: A Satellite View for Python Code

(ast-visualizer.com)

7 points | by treeliker 13 hours ago

2 comments

  • s_u_d_o 7 hours ago
    Hey, cool project! I saw you are planning to add javascript/html/css support soon. This will still work for React based frontends right? Or support will be for vanilla codebases only? Thx!
    • treeliker 4 hours ago
      Currently aiming to make it work for react, especially spotting how components relate to each other would be extremly helpful when dealing with local vs global css conflicts and similar issues
  • treeliker 13 hours ago
    A few technical details for those interested in the behind the scenes:

    Why AST? -> Simple regex or string parsing fails as soon as you hit complex decorators or nested classes. By using Python’s native AST module, we can get an objective map of the logic flow that doesn't care about formatting or comments.

    The Visualization Challenge-> Rendering a dependency graph for a repo with hundreds of files can quickly turn into a laggy hairball. We spent a lot of time tweaking the D3.js force-directed graph parameters to ensure that nodes self-organize in a way that highlights clusters rather than just creating a mess.

    Why Server-side? -> We chose server-side processing to handle larger repositories without crashing the user's browser (Numpy, FastAPI etc.), but we've architected it to be non permanent. The code lives in RAM just long enough to be parsed into a JSON structure for the frontend, then it's gone.

    Next steps: -> I’m looking into adding Javascript, html and css support to make debugging the frontend much easier.

    • codeviewer 13 hours ago
      How much load does the render engine put on the user end?
      • treeliker 12 hours ago
        For big projects its quite noticable.. but this only really starts to become a probleme once project sizes exceed 200k LOC
        • codeviewer 12 hours ago
          My poor 2018 Mac is currently dead at around 10 FPS on numpy. Desktop works fine tho
    • swupel 12 hours ago
      Are you also planning on adding GO support anytime soon?
      • codeviewer 12 hours ago
        Would definitely be cool. Especially interesting for getting into large full stack codebases