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.2.0.tar.gz (14.8 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.2.0-py3-none-any.whl (14.2 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for depup-0.2.0.tar.gz
Algorithm Hash digest
SHA256 d1a5be3730e3a381418fec2fe2435b88ed5908ac620ca1c17523cbef05c57cd5
MD5 4e99a91a26a2fcc18fbe1eef10a00c36
BLAKE2b-256 32d923acfc567340aa3ffd591953c3338fc41106b7d8cd99e447b89372cb1e28

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: depup-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 14.2 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.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9bd0cd7bf764c5ba950842ad0f1f374a9df8b8b7353f9f3895f267ec078bb1d1
MD5 abe1eb2955898082f15404eedcf15b45
BLAKE2b-256 89e6b61409cc3c555530db6d449d2e553f063040adfa96d96eba275a4eb9d3ba

See more details on using hashes here.

Provenance

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