A Python library for visualizing Data Structures and Algorithms with images and videos
Project description
vizods
vizods is a comprehensive Python library that combines robust Data Structures and Algorithms with built-in visualization tools. It allows developers and students to not only execute code but also see how data transforms in real-time through images and videos.
Key Features
- Built-in Visualization: Generate
.pngsnapshots or.mp4videos of algorithm execution. - Educational Legends: Every visual output includes a color-coded legend and status messages.
- Clean API: Intuitive syntax designed for both production and learning.
- Extensible Architecture: Easily add new algorithms by inheriting from our base visualizer classes.
Installation
pip install vizods
Note: Ensure you have ffmpeg installed on your system for video rendering.
Quick Start: Bubble Sort Visualization
from vizods.bubble_sort import BubbleSort
# Initialize with data
data = [64, 34, 25, 12, 22, 11, 90]
sorter = BubbleSort(data)
# Run algorithm with visualization enabled
sorter.sort()
# Export results
sorter.save_snapshot("final_result.png")
sorter.save_video("bubble_sort_demo.mp4", fps=5)
Supported Modules
1. Sorting Algorithms
| Algorithm | Status | Visualization |
|---|---|---|
| Bubble Sort | ✅ | Bar Chart + Legend |
| Selection Sort | ✅ | Bar Chart + Legend |
| Insertion Sort | ✅ | Bar Chart + Legend |
| Quick Sort | ✅ | Pivot Tracking |
| Merge Sort | ✅ | Sub-array Merging |
2. Data Structures (Coming Soon)
- Linked Lists: Animated pointer manipulation and node traversal.
- Binary Trees: Visual tree rebalancing (AVL/BST).
- Graphs: Pathfinding visualization (Dijkstra, BFS, DFS).
3. Pathfinding
- A Search:* Grid-based visualization.
- Dijkstra: Weighted graph traversal animations.
Visualization Standards
To ensure a consistent learning experience, vizods follows a strict color-coding system:
- 🟢 Green: Sorted / Finalized / Target Reached.
- 🟠 Orange: Currently being processed / Compared.
- 🔴 Red: Highlighted element / Error / Key being moved.
- 🟣 Purple: Pivot point (for Divide & Conquer).
- ⚪ Gray: Inactive / Out of scope.
Contributing
We welcome contributions! If you'd like to add a new algorithm or improve a visualizer:
- Fork the Project.
- Create your Feature Branch.
- Commit your Changes.
- Push to the Branch.
- Open a Pull Request.
License
Distributed under the MIT License. See LICENSE for more information.
Developed with ❤️ for the Developer Community.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file vizods-1.0.4.tar.gz.
File metadata
- Download URL: vizods-1.0.4.tar.gz
- Upload date:
- Size: 8.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9ded31cc12662e601a74b7b3fd9e5048778692485905e407c654d9df03a02ed0
|
|
| MD5 |
f90d22135253a4e22999ebced87e9fc6
|
|
| BLAKE2b-256 |
6a8160ace6c3c823b4004cf00996f6a4e3f0abeb153f3515992130eda198f4c6
|
File details
Details for the file vizods-1.0.4-py3-none-any.whl.
File metadata
- Download URL: vizods-1.0.4-py3-none-any.whl
- Upload date:
- Size: 9.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4e9e7c3171a343a6d60dae5db8d4d10c0df40ec5edd392063ea8b9637ea6dcb3
|
|
| MD5 |
76494f135ac25090b9d5a95a67e849de
|
|
| BLAKE2b-256 |
24078ac0e1a48155f209714355311029873ebf78e6a2ea1dda158efc1bc58e12
|