📡 DepRadar
Interactive System & Package Dependency Radar
Turn your developer environment into a force-directed visual network map. Discover forgotten packages, identify heavyweight runtimes, and track stale experiments.
🌟 Overview
When building AI workflows, running web scraping experiments, and testing new libraries, workstations accumulate dozens of virtualenvs, global NPM packages, container runtimes, and background daemons. DepRadar scans your machine and generates an interactive, force-directed dependency graph that makes storage footprints and relationships crystal clear.
📸 Screenshots & Showcase
1. Force-Directed Constellation View
Explore runtime engines, container daemons, virtual environments, and developer suites grouped cleanly into outer macro-clusters.
2. Deep Inspector Drawer & 1-Click Cleanup
Click any node to smoothly fly in, inspect upstream runtime requirements, downstream dependent projects, full package manifests with versions, and grab clipboard-ready deletion commands.
3. Link Hover & Relationship Explanations
Hover over any connection to reveal the exact nature of the dependency and how your tools interact under the hood.
✨ Features
- 🌐 Force-Directed Physics Graph: Smooth 60fps canvas visualizer powered by D3/Force-Graph with drag, zoom, and perimeter macro-clustering.
- 📦 Multi-Ecosystem Cartography:
- Python: Scans virtual environments (
.venv),uvtools, and active package dependencies. - Node.js: Maps global NPM CLI utilities and local project engines.
- Desktop & Snaps: Identifies containerized Snap applications and heavy compatibility layers (e.g., Wine runtimes).
- APT & Developer Suites: Maps Docker daemons, XeLaTeX suites, and native packages.
- Standalone Tools: Detects unmanaged toolkits like IBM CPLEX and desktop Electron runtimes.
- Python: Scans virtual environments (
- ⚖️ Proportional Disk Sizing: Node radius scales dynamically with storage consumption—heavy 1.5 GB+ runtimes immediately stand out.
- 🚦 Freshness & Stale Detection:
- 🟢 Active: Used within 14 days.
- 🟡 Inactive: 14–30 days idle.
- 🔴 Stale: 30+ days untouched (candidates for deletion).
- 🔍 Instant Search & Category Filtering: Hotkey
/for rapid search, plus one-click filters for AI Stack, Data Science, Snaps, and Stale Items. - 🛠️ Deep Inspector & 1-Click Cleanup: Slide-out drawer displaying upstream requirements, downstream dependents, file paths, and clipboard-ready uninstall commands.
- ⚡ Zero-Dependency Portable Output: Emits a single self-contained
.htmlfile that can be opened in any modern browser without running a server. - 💻 Cross-Platform (Linux, macOS, Windows):
- Linux: APT packages, Snap daemons, Flatpak, Docker, NVIDIA GPU.
- macOS: Homebrew formulae/casks,
/Applications, Apple Metal GPU acceleration. - Windows: Winget, Scoop, Chocolatey,
%LOCALAPPDATA%, Windows Terminal, WSL.
- 🤖 AI-Agent Ready & MCP Native:
- MCP Server (
depradar mcp): Plug DepRadar directly into Claude Desktop, Cursor, Windsurf, or Antigravity via Model Context Protocol. - Fast Query Engine (
depradar query <pkg> --json): Instant CLI dependency and usage lookup for AI agents. - Stale Pruning (
depradar stale --json): Programmatic cleanup automation for autonomous agents. - Agent Context Generator (
depradar agent-context): Emits compact, token-efficient system context briefings for LLM prompts.
- MCP Server (
🚀 Quick Start
Installation & Instant Run
1. Instant Run (Zero Permanent Installation via uv)
The fastest way to run DepRadar without altering your local packages:
uvx depradar
2. Install Globally via uv or pip
# Isolated CLI tool via uv (recommended)
uv tool install depradar
# Standard installation via pip
pip install depradar
🛠️ Local Development Installation
# Clone the repository
git clone https://github.com/mdphd97/depradar.git
cd depradar
# Install in editable mode
pip install -e .
Usage & Command Suite
# 1. Scan your system and automatically launch the interactive graph in your browser
depradar
# 2. Run the interactive local daemon with real-time API endpoints
depradar serve --port 8080
# 3. Time-Machine Snapshots & Environment Drift Diffing
depradar snapshot --save --label "pre-upgrade" # Save baseline snapshot
depradar snapshot --list # List all captured snapshots
depradar diff --since latest # Inspect package upgrades, removals & storage deltas
# 4. Security & Vulnerability Auditing
depradar audit # Fast offline CVE and advisory audit
depradar audit --online # Query OSV database for latest advisories
# 5. Export graph data as raw JSON for custom analysis
depradar export -o graph_data.json
🤖 AI Agent & MCP Server Integration
DepRadar natively integrates with AI coding assistants (Claude Desktop, Cursor, Antigravity, Windsurf, Aider):
1. Model Context Protocol (MCP) Server
Add DepRadar to your claude_desktop_config.json or .cursor/mcp.json:
{
"mcpServers": {
"depradar": {
"command": "depradar",
"args": ["mcp"]
}
}
}
Available MCP Tools (7 Native Tools):
depradar_get_system_overview: High-level inventory of runtimes, disk sizes, and OS info.depradar_query_dependency: Inquires which projects import a library and which runtime powers it.depradar_list_stale_dependencies: Surfaces unreferenced or idle packages with cleanup commands.depradar_get_full_graph: Emits complete dependency graph.depradar_audit_vulnerabilities: Audits installed environment packages for known CVEs.depradar_save_snapshot: Captures a baseline checkpoint before executing complex coding tasks.depradar_get_environment_diff: Reports environment drift and temporary packages created by agents.
2. CLI for AI Subagents & Automation Scripts
# Query any dependency in JSON
depradar query selenium --json
# List stale items and cleanup commands for automated maintenance
depradar stale --json
# Diff environment against a previous baseline
depradar diff --since latest --json
# Generate an LLM-optimized Markdown briefing for system prompts / CLAUDE.md
depradar agent-context
🗺️ How DepRadar Maps Dependencies
[ Ubuntu APT / Homebrew / Winget ] ──► [ Developer Suites ] ──┐
▼
[ Node.js Runtime (v20) ] ──────────► [ Fullstack Web Apps ] ─┘
│
├──────────────────────────► [ agent-browser CLI ]
│
└──────────────────────────► [ firecrawl-cli ]
[ Snap / App Sandbox ] ─────────────► [ Wine Runtimes (~1.5GB) ] ─► [ Standalone Apps ]
⌨️ Shortcuts & Viewer Controls
| Key / Action | Action |
|---|---|
/ |
Focus search bar |
Esc |
Close node inspector drawer |
| Click Node | Smoothly zoom in & open inspector |
| Click Background | Close drawer |
🎯 (Center) |
Fit graph to viewport |
⏸️ / ▶️ |
Freeze / resume physics simulation |
💻 Supported Environments
| Platform | Package Managers & Runtimes Detected | Hardware Acceleration |
|---|---|---|
| Linux | APT, Snap, Flatpak, Docker, UV Tools, Global NPM | NVIDIA CUDA / GeForce |
| macOS | Homebrew (Formulae & Casks), /Applications, Pipx, UV Tools |
Apple Silicon Metal GPU |
| Windows | Winget, Scoop, Chocolatey, PowerShell, WSL2, LocalAppData | Direct3D / Vulkan |
🤝 Contributing
Contributions are welcome! If you want to add scanners for additional package managers, container runtimes, or custom desktop suites, feel free to submit a pull request or open an issue.
- Fork the Project
- Create your Feature Branch (
git checkout -b feat/new-scanner) - Commit your Changes (
git commit -m 'feat: add podman container scanner') - Push to the Branch (
git push origin feat/new-scanner) - Open a Pull Request
📄 License
Distributed under the MIT License. See LICENSE for details.
Metadata
Release files for depradar 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| depradar-0.2.0.tar.gz | 46.0 kB | Without provenance | Details for depradar-0.2.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| depradar-0.2.0-py3-none-any.whl | Python 3 | none | any | Details for depradar-0.2.0-py3-none-any.whl |
Total release size: 102.2 kB
Release files / depradar-0.2.0.tar.gz
| Download URL | depradar-0.2.0.tar.gz |
|---|---|
| Size | 46.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
033095a2282a541e63ae292c262e34799278859f4e394299e5fe812c3d0525f4
|
|
BLAKE2b-256 checksum How to use checksums |
67eb3646b28d3053f174edc8990617cce88d4b4693fd548f4ee0313ae9a2290f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / depradar-0.2.0-py3-none-any.whl
| Download URL | depradar-0.2.0-py3-none-any.whl |
|---|---|
| Size | 56.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
dd09b1197867c9efe1adab95debf00c8e6964372ac4fb838a9284bab36cc15c3
|
|
BLAKE2b-256 checksum How to use checksums |
9bfb190e2a235d30ab505d79ae619190b04eadaf8b161569597fb390a9b80eb0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Security for depradar 0.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.