Skip to content

Heydarchi/KudSight

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

84 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

KudSight KudSight Favicon

This app is experimental and has not fully tested !

KudSight is an experimental, Python-based static analysis tool that helps developers explore class relationships in source code using interactive 3D and UML-style diagrams β€” all directly in the browser.

πŸ” Supports Java and C++ as primary languages, with early support for C# and Kotlin.

πŸš€ v0.6.0-beta Highlights (April 19, 2025)

  • Enhanced support for Java and C++
  • Toggle between 3D Graph and UML-style diagram rendering
  • Dark/Light mode switching
  • Auto-refresh analysis results
  • Selective class rendering
  • Export diagrams as PNG or PlantUML (.puml)
  • Improved UI and CSS
  • Updated Docker image for easy deployment

πŸ”§ Core Features

Category Description
Language Support - Java (primary)
- C++ (stable)
- C# and Kotlin (experimental)
Code Analysis - Extracts Inheritance, Implementation, and Dependency relations
- Supports package/module groupings
Visualization - 3D Graph rendering (with camera controls)
- UML-style layout toggle
- Selective node rendering
UI & UX - Sidebar filtering by Category and Items
- Node focus, reset, zoom/pan controls
- Dark/Light theme toggle
Export - PNG and PlantUML output
- Screenshot functionality
- Node position/layout persistence
Tooling - Web-based UI and CLI options
- Dockerized for easy, cross-platform use

πŸ“Έ Screenshots

KudSight UI Graph View Dark Theme

Note There are two ways to use this app. The first one is installing all the packages and running the app. And the second one is using docker. I recommend using docker for sake of convenience and avoiding any conflict in installing the packages. So if you want to use docker you can jump to that section.

Setting up manually

Installation

Quick Start: Run the setup script:

./setup.sh

Manual Setup

  1. Clone the repo with submodules:
git clone --recurse-submodules https://github.com/Heydarchi/KudSight.git
cd KudSight
  1. Install Python and dependencies:
sudo apt install python3 python-is-python3 python3-venv default-jre graphviz -y
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

Usage

Web Server (Recommended)

python app.py

Then open in your browser:

http://127.0.0.1:5000/

Command Line

python FileAnalyzer.py test/test_files/java

Results are saved to:

app/static/out/

Docker

Pull the Docker Image from DockerHub and Run

I have provide a docker image including the latest version of the application that you can easily pull and run it without setting up anything on you PC.

Notes:

  • Create an out folder in the directory you want to run the docker to store the analysis result. (Mandatory)
  • You can mount other folder, drivers and disks if you like. But the first part "$PWD/out:/app/static/out" should be kept.

Pull the image:

docker pull mhheydarchi/kudsight:latest

Run it:

docker run -it --rm --network host -v "$PWD/out:/app/static/out" -v "$HOME:/home/$USER" -v "/media:/media" -p 5000:5000  mhheydarchi/kudsight:latest

Now visit: http://localhost:5000


Build the Docker Image locally and Run it

if you're interested to build the docker image locally and use it you can follow these steps:

Build the Docker Image

docker build -t kudsight .

Run KudSight in Docker

Create an out folder in the directory you want to run the docker to store the analysis result. (Mandatory) You can mount other folder, drivers and disks if you like. But the first part "$PWD/out:/app/static/out" should be kept.

docker run -it --rm --network host -v "$PWD/out:/app/static/out" -v "$HOME:/home/$USER" -v "/media:/media" -p 5000:5000  kudsight

Now visit: http://localhost:5000


🀝 Contributing

We ❀️ contributions! Whether it's code, bug reports, or docs β€” you're welcome.

Please read CONTRIBUTING.md for contribution guidelines.

🚧 Roadmap

Check TODO.md for upcoming features and known issues. Your input is appreciated.

πŸͺͺ License

Licensed under the Apache License 2.0.

πŸ“’ Contact

Have ideas, feedback, or bugs to report? Open an issue or start a discussion on GitHub!

About

This projects reveals project internal and relationship by analyzing the files and classes

Resources

License

Contributing

Stars

1 star

Watchers

2 watching

Forks

Packages

 
 
 

Contributors