Skip to content

PyVizAST Prerelease 0.7.0-rc3

Pre-release
Pre-release

Choose a tag to compare

@ChidcGithub ChidcGithub released this 13 Mar 13:00
· 13 commits to main since this release

Bug Fixes & Performance Optimizations

Backend Fixes:

  • Fixed async sync blocking in projects.py: Added run_in_executor for file I/O and AST parsing operations
  • Fixed incomplete exception handling in parser.py: Added MemoryError catch with smart truncation
  • Fixed redundant AST traversal in node_builder.py: Combined 3 separate ast.walk calls into single pass for 3x performance improvement
  • Fixed lint errors (F541, F821, F401) across multiple files

Frontend Improvements:

  • Enhanced CodeEditor.js for large file performance:
    • Disabled minimap for files > 3000 lines
    • Disabled folding for files > 5000 lines
    • Added performance warning banner for large files
    • Improved memory management for very large files
  • Confirmed proper cleanup in useResizeObserver.js, GestureService.js, and ASTVisualizer3D.js

Performance:

  • node_builder.py: _count_code_elements() now does single traversal instead of 3
  • Reduced memory usage for large file editing
  • Better error handling for edge cases

Files Modified:

  • backend/routers/projects.py - Async file operations
  • backend/ast_parser/parser.py - MemoryError handling
  • backend/ast_parser/node_builder.py - Performance optimization
  • frontend/src/components/CodeEditor.js - Large file handling
  • frontend/src/components/components.css - Performance warning styles