Skip to main content

Dependency Upgrade Advisor: scan and safely upgrade Python project dependencies.

Project description

depup โ€” Dependency Upgrade Advisor

PyPI Version Python Versions License: MIT Docs

Depup is a modern Python CLI tool that helps developers keep their project dependencies up-to-date, safe, and maintainable. It automatically:

  • Scans for declared dependencies
  • Detects updates on PyPI
  • Classifies semantic versioning impact (patch/minor/major)
  • Prepares upgrade paths
  • (Future) Provides AI-assisted upgrade analysis and code fixes

This tool is built for modern development workflows and future integration with AI agents (Cursor, Windsurf, Continue) via MCP.


๐Ÿš€ Features

โœ… Current Features

  • Parse requirements.txt, pyproject.toml, and Pipfile
  • Display declared package versions
  • Fetch latest versions from PyPI (depup scan --latest)
  • Categorize updates by semantic version (patch/minor/major)
  • Clean, colorized CLI output via Typer + Rich

๐Ÿงญ Roadmap (Planned)

  • Automated safe upgrades via depup upgrade
  • Dependency file rewriting after upgrades
  • Post-upgrade code scanning
  • Markdown/HTML upgrade reports
  • LLM-powered changelog summarization
  • MCP Agent integration for AI IDEs

Installation

pip install depup

Or with uv:

uv tool install depup

๐Ÿ“˜ Usage

List declared dependencies

depup scan

Show latest available versions from PyPI

depup scan --latest

Example output:

โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ณโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”“
โ”ƒ Package Name โ”ƒ Declared Specโ”ƒ Latest Versionโ”ƒ Update Type  โ”ƒ Source File  โ”ƒ
โ”กโ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ•‡โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”โ”ฉ
โ”‚ typer        โ”‚ >=0.12       โ”‚ 0.12.3        โ”‚ patch        โ”‚ pyproject.toml
โ”‚ packaging    โ”‚ >=24.0       โ”‚ 24.1.0        โ”‚ patch        โ”‚ pyproject.toml
โ”‚ rich         โ”‚ >=13.0       โ”‚ 13.7.1        โ”‚ patch        โ”‚ pyproject.toml
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐Ÿ“‚ Supported Dependency Files

  • requirements.txt
  • pyproject.toml (PEP 621 and Poetry)
  • Pipfile

๐Ÿงช Testing

pytest -q

๐Ÿงฑ Project Structure

src/depup/
    cli/
    core/
    reporting/
    scanning/
    utils/
tests/
pyproject.toml
README.md
CHANGELOG.md
LICENSE

๐Ÿ“„ License

This project is licensed under the MIT License โ€” see the LICENSE file for details.


๐Ÿค Contributing

Contributions are welcome! Feel free to open issues or submit PRs.


โญ Acknowledgements

This project is inspired by modern dependency management workflows and the architecture outlined in the technical design document.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

depup-0.1.1.tar.gz (9.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

depup-0.1.1-py3-none-any.whl (10.8 kB view details)

Uploaded Python 3

File details

Details for the file depup-0.1.1.tar.gz.

File metadata

  • Download URL: depup-0.1.1.tar.gz
  • Upload date:
  • Size: 9.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for depup-0.1.1.tar.gz
Algorithm Hash digest
SHA256 81c3d7f880abd5837ed35b36e9dd48cd75e1b58e4ab50355d33f3fe9da2843fc
MD5 7e987fe76314fe990604ceb865776177
BLAKE2b-256 14cb4db2ba71feee43df616a1b21b8059adc5ed85637269f1c1b904cb72fc15c

See more details on using hashes here.

File details

Details for the file depup-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: depup-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 10.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for depup-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 fdc3bd014aabff55486fb4a3a440d600619db2ecaa7f950c9064674975efb0fd
MD5 d283ec9bd8f192776c8c8c4518b6a488
BLAKE2b-256 996936ba7e308db393651b8a6162a36902225506c028b2b8e1a125dd19838ec3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page