An innovative tool for dynamic visualization of Python codebases.
View Demo
·
Report Bug
·
Request Feature
Table of Contents
GitGraph dynamically generates interactive visualizations of dependencies and relationships within a Python codebase, leveraging Tree-sitter for parsing and d3.js for rendering.
- Node.js and npm
npm install npm@latest -g
-
Clone the GitGraph repo
git clone https://github.com/shreshthgoyal/gitgraph.git
-
Install NPM packages
npm install
-
Start the project
npm start
GitGraph is designed with an intuitive interface to offer a seamless experience in visualizing and understanding Python codebases. To get started with GitGraph, follow these simple steps:
-
Codebase Selection: Add the Python codebase's GitHub username and repository name in the designated fields. This action initiates the visualization process, allowing GitGraph to dynamically generate an interactive graph of the codebase.
-
Interactive Graph Navigation:
- Drag and Place: The nodes representing functions, classes, and files in the graph are interactive. You can drag and position them anywhere on the canvas to organize the view according to your preference.
- Zoom: Use the zoom in and out features to adjust the graph's view. This functionality allows you to focus on specific details or get an overview of the entire codebase structure.
-
Detailed Analysis:
- Sidebar Information: Hovering over nodes and links activates a sidebar that displays detailed information, such as the list of neighbor nodes and the functions imported from each file. This feature provides quick insights into the codebase's structure and dependencies.
- Hyperlinks: Each file represented in the graph is hyperlinked to its respective location in the GitHub repository. This direct link enables quick access to the source code for in-depth analysis.
-
Function Definitions:
- Quick View Modal: Clicking on a function node within the graph opens a modal window displaying the function's definition. This quick view feature allows for an immediate understanding of the function's purpose and implementation without navigating away from the graph.
- Add support for additional programming languages
- Introduce more interactive features
- Optimize performance
Contributions are greatly appreciated. For any contributions, please fork the repo and create a pull request.
Distributed under the MIT License. See LICENSE
for more information.
Shreshth Goyal - @shreshthg30
Project Link: https://github.com/shreshthgoyal/gitgraph