dep-detective 🔍
A CLI tool that scans your project dependencies for health issues. Works with npm and Python projects.
Installation
pip install dep-detective
Or from source:
git clone https://github.com/hiren-thakore/dep-detective.git
cd dep-detective
pip install -e .
Usage
# Scan current project
dep-detective scan
# JSON output
dep-detective scan --json
# Skip security checks (faster)
dep-detective scan --no-security
# Skip size checks
dep-detective scan --no-size
# Scan a specific directory
dep-detective scan --dir /path/to/project
# Full markdown report
dep-detective report
# HTML report
dep-detective report --format html
# Ignore a package
dep-detective ignore lodash
# Watch mode (re-scan on file changes)
dep-detective monitor
# CI mode (exit 1 if critical issues)
dep-detective ci
What it checks
- ⚠️ Abandoned deps — No commits in 12+ months on GitHub
- 🔴 Security — Known CVEs via OSV API
- 📦 Size — Oversized packages via Bundlephobia/PyPI
- 🟡 Duplicates — Overlapping functionality (lodash + underscore, etc.)
- 📜 License — GPL in MIT project, etc.
- 📅 Outdated — Major versions behind
- 🔓 Missing lockfiles — No package-lock.json, Pipfile.lock, etc.
Supported Ecosystems
| Ecosystem | Files |
|---|---|
| npm | package.json, package-lock.json |
| Python | requirements.txt, pyproject.toml |
More coming soon: Rust (Cargo.toml), Go (go.mod), Ruby (Gemfile).
Configuration
Create a .dep-detective-ignore file in your project root:
# Ignore these packages
lodash
moment
Example Output
🔍 Scanning project...
╭── Dependencies (47 found) ───────────────────────────────────────╮
│ │
│ ⚠️ ABANDONED (1) │
│ └─ request@2.88.2 Last commit: 1.3 years ago │
│ │
│ 🔴 SECURITY (1) │
│ └─ axios@0.21.1 CVE-2023-XXXX (medium) │
│ │
│ 📦 SIZE (1) │
│ └─ moment@2.29.4 4.6MB (consider date-fns: 13KB) │
│ │
╰────────────────────────────────────────────────────────────────────╯
Score: C+ (72/100) — 3 issues found, 1 critical
License
MIT © Hiren Thakore
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
dep_detective-0.1.0.tar.gz
(17.7 kB
view details)
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 dep_detective-0.1.0.tar.gz.
File metadata
- Download URL: dep_detective-0.1.0.tar.gz
- Upload date:
- Size: 17.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
32b2fa29fb971f2cba58c9cf2fc7dabb6bebd2ce4e1f271899185223110bc980
|
|
| MD5 |
d4bdeb88838e55e42470e4e5f80c2398
|
|
| BLAKE2b-256 |
d498a73db275a3a94cd07dfb12107d4ff6fb202bf0a8625d4ebfca5f78f6af76
|
File details
Details for the file dep_detective-0.1.0-py3-none-any.whl.
File metadata
- Download URL: dep_detective-0.1.0-py3-none-any.whl
- Upload date:
- Size: 18.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
uv/0.9.28 {"installer":{"name":"uv","version":"0.9.28","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
80e2171d970fdbf746dedb3cfcae4a230c8e7dfad4a15906c7ec8be0e705a635
|
|
| MD5 |
d833f87262b3b156545a2fd848b09468
|
|
| BLAKE2b-256 |
fb8038461e09097b343cb1d45e09d387756d7c176354c777431d1910a7d63e24
|