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
Metadata
Release files for dep-detective 0.1.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 | |
|---|---|---|---|
| dep_detective-0.1.0.tar.gz | 17.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| dep_detective-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 36.1 kB
Release files / dep_detective-0.1.0.tar.gz
| Download URL | dep_detective-0.1.0.tar.gz |
|---|---|
| Size | 17.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
32b2fa29fb971f2cba58c9cf2fc7dabb6bebd2ce4e1f271899185223110bc980
|
|
BLAKE2b-256 checksum How to use checksums |
d498a73db275a3a94cd07dfb12107d4ff6fb202bf0a8625d4ebfca5f78f6af76
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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}
|
Release files / dep_detective-0.1.0-py3-none-any.whl
| Download URL | dep_detective-0.1.0-py3-none-any.whl |
|---|---|
| Size | 18.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
80e2171d970fdbf746dedb3cfcae4a230c8e7dfad4a15906c7ec8be0e705a635
|
|
BLAKE2b-256 checksum How to use checksums |
fb8038461e09097b343cb1d45e09d387756d7c176354c777431d1910a7d63e24
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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}
|