Skip to main content

DepAdvisor

AI-powered dependency update advisor — Know what to update, why, and in what order.

CI Python 3.11+ License: MIT


DepAdvisor analyzes your project's dependencies, checks for available updates, fetches vulnerability data and changelogs, then uses an LLM to produce risk-scored, prioritized update recommendations.

Unlike Dependabot or Renovate which tell you that updates exist, DepAdvisor tells you why you should or shouldn't update, what will break, and in what order to proceed.

Features

  • Multi-ecosystem: Python (pip/poetry), Node.js (npm), Java (Maven)
  • Risk scoring: Each update gets a 1-10 risk score with plain English explanation
  • Vulnerability aware: Integrates with OSV.dev for known CVE detection
  • Changelog analysis: Fetches GitHub release notes to identify breaking changes
  • Local-first: Runs entirely locally with Ollama — no API keys needed
  • Cloud LLM support: Optional OpenAI integration for faster analysis
  • Multiple outputs: Terminal (Rich), Markdown, JSON, GitHub comment format
  • CI/CD ready: --fail-on critical exits with code 1 for pipeline gating
  • HTTP API: FastAPI server mode for team dashboards and integrations

Quick Start

Install

pip install depadvisor

Or with UV:

uv tool install depadvisor

Install Ollama (for local LLM)

# macOS
brew install ollama

# Linux
curl -fsSL https://ollama.com/install.sh | sh

# Download the model
ollama pull qwen3:8b

Run

# Analyze current directory
depadvisor analyze .

# Analyze a specific project with options
depadvisor analyze ./my-project --ecosystem python --format markdown

# Analyze a remote git repository (cloned automatically, cleaned up after)
depadvisor analyze https://github.com/pallets/flask.git -v

# Quick vulnerability scan (no LLM needed) — works with local paths and git URLs
depadvisor scan .
depadvisor scan https://github.com/expressjs/express.git

# Use OpenAI instead of local Ollama
depadvisor analyze . --llm openai/gpt-4o-mini

CLI Reference

depadvisor analyze

Run a full dependency analysis with LLM-powered risk assessment. Accepts local paths or git URLs (HTTPS/SSH).

Usage: depadvisor analyze [PATH] [OPTIONS]

Arguments:
  PATH                    Local path or git URL of the project [default: .]

Options:
  -e, --ecosystem TEXT    Force ecosystem: python, node, java (auto-detected)
  -l, --llm TEXT          LLM provider/model (default: ollama/qwen3:8b)
  -f, --format TEXT       Output: terminal, markdown, json, github-comment
  -o, --output TEXT       Write to file instead of stdout
  --fail-on TEXT          Exit code 1 if risk level found: critical, high, medium
  --include-dev           Include dev dependencies
  -v, --verbose           Show detailed progress

depadvisor scan

Quick vulnerability-only scan. No LLM required. Accepts local paths or git URLs.

Usage: depadvisor scan [PATH] [OPTIONS]

Arguments:
  PATH                    Local path or git URL of the project [default: .]

Options:
  -e, --ecosystem TEXT    Force ecosystem: python, node, java

depadvisor serve

Start the HTTP API server.

Usage: depadvisor serve [OPTIONS]

Options:
  -h, --host TEXT         Host to bind to [default: 0.0.0.0]
  -p, --port INT          Port [default: 8888]

Supported Ecosystems

Ecosystem Dependency Files Registry
Python requirements.txt, pyproject.toml (PEP 621 + Poetry) PyPI
Node.js package.json npm
Java pom.xml Maven Central

Architecture

DepAdvisor LangGraph Pipeline

The agent pipeline flows through six nodes with conditional routing:

  • parse_deps — Reads dependency files from the project
  • check_updates — Queries package registries (PyPI, npm, Maven Central)
  • fetch_vulns — Checks OSV.dev for known vulnerabilities
  • fetch_changelogs — Fetches release notes from GitHub
  • analyze_risk — LLM scores each update for risk (with retry on failure)
  • generate_report — LLM generates a prioritized summary

If no updates are found, the pipeline skips directly to report generation.

Built with LangGraph for agent orchestration.

Configuration

Environment Variables

Variable Description Default
DEPADVISOR_LLM_PROVIDER LLM provider ollama
DEPADVISOR_LLM_MODEL LLM model name qwen3:8b
OLLAMA_BASE_URL Ollama server URL (for remote Ollama) http://localhost:11434
OPENAI_API_KEY OpenAI API key (if using OpenAI) -
GITHUB_TOKEN GitHub token for higher API rate limits -
DEPADVISOR_CACHE_DIR Cache directory ~/.cache/depadvisor
LANGSMITH_TRACING Enable LangSmith tracing (optional) -
LANGSMITH_API_KEY LangSmith API key (optional) -
LANGSMITH_PROJECT LangSmith project name (optional) -
LANGSMITH_ENDPOINT LangSmith API endpoint (optional) https://api.smith.langchain.com

LangSmith tracing: If LANGSMITH_TRACING=true and LANGSMITH_API_KEY are set, all LangGraph agent runs are automatically traced in LangSmith. Each run is tagged with the ecosystem, LLM provider, and project name for easy filtering. No code changes needed — just set the environment variables.

CI/CD Integration

# .github/workflows/dependency-review.yml
name: Dependency Review
on:
  schedule:
    - cron: '0 9 * * 1'  # Weekly on Monday 9am

jobs:
  review:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: pip install depadvisor
      - run: |
          depadvisor analyze . \
            --llm openai/gpt-4o-mini \
            --format github-comment \
            --output report.md \
            --fail-on critical
        env:
          OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}

HTTP API

# Start server
depadvisor serve --port 8888

# Analyze a project
curl -X POST http://localhost:8888/api/v1/analyze \
  -H "Content-Type: application/json" \
  -d '{"project_path": "/path/to/project", "ecosystem": "python"}'

# Health check
curl http://localhost:8888/health

Development

git clone https://github.com/chaubes/depadvisor.git
cd depadvisor
uv sync --all-extras

# Run tests
make test-unit
make test-integration

# Lint
make lint

# Run the CLI
make run ARGS="analyze tests/fixtures/python"

See CONTRIBUTING.md for the full development guide.

License

MIT License. See LICENSE.

Metadata

Release files for depadvisor 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for depadvisor 0.3.0
File Size Uploaded
depadvisor-0.3.0.tar.gz 187.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for depadvisor 0.3.0
File Interpreter ABI Platform
depadvisor-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 234.2 kB

Release files / depadvisor-0.3.0.tar.gz

Download URL depadvisor-0.3.0.tar.gz
Size 187.0 kB
Tags Source
SHA-256 checksum
How to use checksums
85a8535ec2363ef3cf192bde5e7adb2f49286632945b7f4116931cba8afddf3b
BLAKE2b-256 checksum
How to use checksums
09814b5fc2e2e47c3adad898a758003ac9eb6633fcd9543566591dc06b3af053
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 16, 2026.

Transparency log

Release files / depadvisor-0.3.0-py3-none-any.whl

Download URL depadvisor-0.3.0-py3-none-any.whl
Size 47.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f6197839f7115731b33c983f345496e09d6f3c941b020515cd3d7384f110088b
BLAKE2b-256 checksum
How to use checksums
5afa1eab150cfa13a5cee985e65e9ed8bd7b2e5a09f431cf97668227fb40e73a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 16, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 release files

0.2.0

2 release files

0.1.2

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page