A Python data-structure visualization tool for lists, dictionaries, trees, and call stacks, designed for Jupyter notebooks and presentations.
lolviz is a Python library that creates visualizations of data structures such as lists, dictionaries, trees, and call stacks. It helps developers and educators illustrate how data is organized in memory, making it easier to explain concepts, debug structures, or present findings in Jupyter notebooks.
Educators, students, and developers who need to visualize data structures for teaching, learning, or debugging purposes, particularly within Jupyter notebook environments.
It offers a straightforward, Python-native way to generate clean, informative diagrams of complex data layouts without external tools, specifically optimized for interactive use in presentations and educational content.
A simple Python data-structure visualization tool for lists of lists, lists, dictionaries; primarily for use in Jupyter notebooks / presentations
Displays visualizations directly in Jupyter notebooks without extra steps, as demonstrated in the usage examples, making it ideal for interactive teaching.
Supports lists, dictionaries, trees, call stacks, and NumPy arrays with specialized functions like treeviz() and callsviz(), covering common educational needs.
Designed for clarity in memory layout, inspired by Python Tutor, with features like vertical list displays for wide data to avoid distortion.
Allows adjustment of string length, list width, and float precision through global prefs, enhancing readability for different data types.
Requires separate installation of Graphviz (e.g., brew install graphviz), which can complicate setup and add an external tool dependency.
For object graphs, trees are displayed left-to-right instead of top-down, as noted in the README, which may not align with standard computer science depictions.
matrixviz() only handles 1D and 2D NumPy arrays, lacking support for higher-dimensional data common in machine learning.
Generates static images via Graphviz, missing interactive features like zoom or real-time updates, reducing utility for dynamic debugging sessions.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.