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 CI Publish

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

๐Ÿ”– Version Management

We use bump2version to automate versioning:

bump2version patch  # 0.1.1 โ†’ 0.1.2
bump2version minor  # 0.1.1 โ†’ 0.2.0
bump2version major  # 0.1.1 โ†’ 1.0.0

๐Ÿ“„ 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.5.0.tar.gz (38.6 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.5.0-py3-none-any.whl (18.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: depup-0.5.0.tar.gz
  • Upload date:
  • Size: 38.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for depup-0.5.0.tar.gz
Algorithm Hash digest
SHA256 6117f1a68470d6e707af1e381a46d6ad666edea88d895bb2b7b10983a46269ac
MD5 f91196a719ba9264be1d22acbb1b0e8d
BLAKE2b-256 2b074d0f00dcf765cac1e40f7e461288565ead1649f502e1edac28dc3d8a1816

See more details on using hashes here.

Provenance

The following attestation bundles were made for depup-0.5.0.tar.gz:

Publisher: python-publish.yml on saran-damm/depup

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

  • Download URL: depup-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 18.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for depup-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5fe0733e27f3f95944909f90899aa918a6df2fe7af7b9db86dbff3559dd72470
MD5 9d824ff1971fe05d37414ca8113ced7b
BLAKE2b-256 91a80df598b15340667929f2dfe6f37ceb744b763d9d3bc22c07ad7bbb482485

See more details on using hashes here.

Provenance

The following attestation bundles were made for depup-0.5.0-py3-none-any.whl:

Publisher: python-publish.yml on saran-damm/depup

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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