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.4.0.tar.gz (38.5 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.4.0-py3-none-any.whl (18.4 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for depup-0.4.0.tar.gz
Algorithm Hash digest
SHA256 50312232f49fb9b2517b64f645c2a619868a480979bf05fd6d7627b5fca75990
MD5 9ec34bfc6c508889043ed0bf57339c20
BLAKE2b-256 f0fa49d443e35a2572606d25fd2a7c0fe9bbc798ec9c86d8d47fdaa794f2e04e

See more details on using hashes here.

Provenance

The following attestation bundles were made for depup-0.4.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.4.0-py3-none-any.whl.

File metadata

  • Download URL: depup-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 18.4 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.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0e8d0cc83653c0dfbf37b8a67842a00562f161d0e794517ff7c16ab23b0d17fb
MD5 c0792f608e2418fbd405c31093591e09
BLAKE2b-256 75546caa0858e4fa320fa15645e2dd04731c6e960994f03dd9528510bff1017b

See more details on using hashes here.

Provenance

The following attestation bundles were made for depup-0.4.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