A visualizer for Python packages using UV dependencies.
Project description
📦 KJ-DepViz: The Interactive Dependency Visualizer & AI Conflict Solver
Stop staring at pip freeze. Start visualizing your project.
kj-depviz is a next-generation tool that turns your requirements.txt, pyproject.toml, or uv.lock files into an interactive, explorable graph. But it doesn't just show you dependencies—it helps you fix them.
Powered by Google Gemini and the blazing-fast uv package manager, kj-depviz lets you simulate dependency changes and detect conflicts before they break your environment.
✨ Key Features
- 🎨 Interactive Graph Visualization: See exactly how your packages connect. Differentiate between Root projects, Direct dependencies, and Transitive (deep) dependencies instantly.
- 🚀 Powered by
uv: Uses the ultra-fastuvresolver to parse lock files and convert standard requirements instantly. - 🧠 AI Conflict Analyst: Connect your Google Gemini API Key to get an elite DevOps engineer in your browser. It analyzes dependency errors and explains why a package is failing in plain English.
- 🧪 The Playground (Simulation Mode): Want to upgrade
pandasor addtensorflowbut afraid of breaking everything? Run a simulation in the UI. We create a temporary sandbox, try the install, and report the results without touching your actual project. - 🔦 Deep Inspection: Click any node to see who uses it, what version is installed, and its dependency path.
- 📸 Export Ready: One-click export your dependency graph to high-quality PNG for documentation or presentations.
🛠️ Installation
Install kj-depviz from PyPI using pip:
pip install kj-depviz
Note:
kj-depvizrequires the uv tool to be installed on your system to perform resolutions and simulations.pip install uv
🚀 How to Use
1. Navigate to your Project
Open your terminal and go to any Python project folder that contains a requirements.txt, pyproject.toml, or uv.lock.
cd my-awesome-python-project
2. Run the Visualizer
Execute the analysis command:
kj-depviz analysis
3. Explore
The tool will start a local server and tell you where to look (usually http://127.0.0.1:8000). Open that link in your browser!
🎮 The Dashboard Features
🕸️ The Graph View
- 🟡 Yellow Nodes: Your Root Project.
- 🟠 Orange Nodes: Direct Dependencies (things you installed explicitly).
- 🔵 Blue Nodes: Transitive Dependencies (things your packages rely on).
- Interactions: Drag nodes, zoom in/out, and double-click a node to copy its ID.
🤖 AI Conflict Analyst (The "Magic" Button)
Click the ✨ AI Analyst button in the bottom menu to open the AI Drawer.
- Connect Gemini: Paste your Google Gemini API Key (stored locally in your browser).
- Select a Mode:
- Modify: specific what happens if you upgrade a package (e.g., change
numpyto2.0.0). - Add: See if adding a new package (e.g.,
scipy) will cause conflicts. - Python Version: Check if your project is compatible with a newer Python version (e.g.,
3.12).
- Run Simulation:
kj-depvizwill spin up a sandbox, attempt the change usinguv, and if it fails, Gemini will analyze the error logs and tell you exactly how to fix it.
⚙️ Settings & Customization
- Toggle Theme: Switch between Dark 🌙 and Light ☀️ modes.
- Layouts: Rotate the graph (Top-Down or Left-Right).
- Search: Instantly find any package in massive dependency trees.
📦 Supported Formats
kj-depviz automatically detects:
- uv.lock & pyproject.toml (Best experience)
- requirements.txt (Will be automatically converted to a temporary uv format for visualization)
👨💻 Author
Karan Jain (KJ)
- A passionate developer bridging the gap between complex dependency trees and developer experience.
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
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 kj_depviz-0.1.0.tar.gz.
File metadata
- Download URL: kj_depviz-0.1.0.tar.gz
- Upload date:
- Size: 54.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ff91d03c729d5029e2df4d282aacee061d3cecf3288d281115ea45310e9d2ca4
|
|
| MD5 |
154d1729ffdd1a7a6304a37da9a2a57c
|
|
| BLAKE2b-256 |
cec587fe25783c8e93473c85f9e9a22a15ecb7fa106baada24760fb20bc59296
|
File details
Details for the file kj_depviz-0.1.0-py3-none-any.whl.
File metadata
- Download URL: kj_depviz-0.1.0-py3-none-any.whl
- Upload date:
- Size: 51.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cf5a6efa752e9ec93c757ffb1252ad0ceaee5f3ed81af8d112e7d2f8dfa60575
|
|
| MD5 |
0bba78ae745f9b6ca53c9108ffad93af
|
|
| BLAKE2b-256 |
4e160445c5d7f17a2e1864642edd8c8d52dbf15f6d22f6e09053ce165fc70a33
|