The ultimate Python toolkit for animating Data Structures and Algorithms.
Project description
vizods
vizods is a powerful Python library that bridges the gap between abstract code and visual understanding. Transform your algorithms and data structures into high-quality .mp4 animations and .png snapshots with a single line of code.
Key Features
- Intuitive Visualization: Automatically generate animations for sorting, trees, and graphs.
- Smart Structure Support: Specialized layouts for Linked Lists and Binary Search Trees.
- Pathfinding Tracing: Step-by-step visualization of Dijkstra’s algorithm with weight tracking.
- Customizable: Add your own logic and let
vizodshandle the rendering.
Installation
pip install vizods
Note: Ensure you have ffmpeg installed for video rendering.
Usage Examples
1. Binary Search Tree (BST)
from vizods.bst import BST
tree = BST()
for val in [50, 30, 70, 20, 40]:
tree.insert(val)
tree.save_video("tree_growth.mp4")
tree.save_snapshot("final_tree.png")
2. Dijkstra's Algorithm
from vizods.dijkstra import Dijkstra
graph = Dijkstra()
graph.add_edge('A', 'B', 4)
graph.add_edge('B', 'C', 2)
graph.visualize_search(start_node='A', target_node='C')
graph.save_video("pathfinding.mp4")
Supported Modules
| Category | Modules | Visual Style |
|---|---|---|
| Sorting | Bubble, Quick, Merge, Insertion, Selection | Bar Charts |
| Data Structures | Linked List, BST | Nodes & Pointers |
| Pathfinding | Dijkstra | Weighted Graphs |
Visualization Standards
- 🟢 Green: Sorted / Visited Node.
- 🟠 Orange: Active / Currently Processing.
- 🔴 Red: Shortest Path / Deleting Node.
- 🔵 Skyblue: Standard Node / Unvisited.
Contributing
Contributions are what make the open-source community an amazing place to learn!
- Fork the Project.
- Create your Feature Branch (
git checkout -b feature/NewAlgo). - Commit your Changes.
- Push to the Branch.
- Open a Pull Request.
License
Distributed under the MIT License. See LICENSE for more information.
Developed with ❤️ by Mordekai66
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-2.1.0.tar.gz.
File metadata
- Download URL: vizods-2.1.0.tar.gz
- Upload date:
- Size: 10.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2a5961b411187f53fec311553b7b0cb9f7db1facfa76c15eab47ad8be16dd040
|
|
| MD5 |
198cb0665b9dac2bb2fd2d2a34e6b97f
|
|
| BLAKE2b-256 |
2dc4dcbcdcbc2e3257f8219977c61e08eb6d0d3272603e44622d7b470d3ea450
|
File details
Details for the file vizods-2.1.0-py3-none-any.whl.
File metadata
- Download URL: vizods-2.1.0-py3-none-any.whl
- Upload date:
- Size: 13.7 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 |
b80379423bd11ea939cefe762776c84403a6d9de8a66e49e24f1d56865cdde3c
|
|
| MD5 |
e51ebb2f8dfc8af914fa957b453b71cd
|
|
| BLAKE2b-256 |
2cb11dfdf54ba58c5cc2012fb967411a805e18de114995ffeed0a9fd6359b3af
|