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.3.1.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.3.1-py3-none-any.whl (18.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: depup-0.3.1.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.3.1.tar.gz
Algorithm Hash digest
SHA256 17c11776db7a97a4fb87edda1e98501fb9f23dee9251e2ec1f0e546a50ab7eab
MD5 23cefa10ab700d48c977ec01d5d0646f
BLAKE2b-256 e1f57df0e81ebb0fc5961864d7342d56ba1d051b548c004fb64a23d3d5aa64db

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: depup-0.3.1-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.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7cdb1c2032ced851d3f1e194548a96c93d418d0ddd635a72b3224891fa3a9128
MD5 1ca7545043954d5b274bc34b55d3184a
BLAKE2b-256 9d5770e338180821d1a6d0bf5d6da2e6842723a5c4a1e737d9a4184fe2bc6aa5

See more details on using hashes here.

Provenance

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