Dependency Upgrade Advisor: scan and safely upgrade Python project dependencies.
Project description
depup โ Dependency Upgrade Advisor
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, andPipfile - 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.txtpyproject.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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file depup-0.6.0.tar.gz.
File metadata
- Download URL: depup-0.6.0.tar.gz
- Upload date:
- Size: 38.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
74d6c77559ea0d779ea632c187b1c4de5296e336070b461c695fbdd1897edbdf
|
|
| MD5 |
cf7011701003c46dcd7c8324a350946e
|
|
| BLAKE2b-256 |
d38231184a73407e2c728d3280a9c56518ef240d507bd5d250867a2839a8f290
|
Provenance
The following attestation bundles were made for depup-0.6.0.tar.gz:
Publisher:
python-publish.yml on saran-damm/depup
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
depup-0.6.0.tar.gz -
Subject digest:
74d6c77559ea0d779ea632c187b1c4de5296e336070b461c695fbdd1897edbdf - Sigstore transparency entry: 763800644
- Sigstore integration time:
-
Permalink:
saran-damm/depup@2f5888c4b5863d445430693b479215183744dc8b -
Branch / Tag:
refs/tags/v0.6.0 - Owner: https://github.com/saran-damm
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@2f5888c4b5863d445430693b479215183744dc8b -
Trigger Event:
push
-
Statement type:
File details
Details for the file depup-0.6.0-py3-none-any.whl.
File metadata
- Download URL: depup-0.6.0-py3-none-any.whl
- Upload date:
- Size: 19.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5aa646224ae5cb8f51d76eb5de1128d8c6a0f72a1c7c167450842644d7d4a3c0
|
|
| MD5 |
95aeda2d61a291ccbb687649e6424f6d
|
|
| BLAKE2b-256 |
d87dd63c53851eb4e7b1d7c70d9bdca290a013f774f4fd224e2ace3e42344329
|
Provenance
The following attestation bundles were made for depup-0.6.0-py3-none-any.whl:
Publisher:
python-publish.yml on saran-damm/depup
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
depup-0.6.0-py3-none-any.whl -
Subject digest:
5aa646224ae5cb8f51d76eb5de1128d8c6a0f72a1c7c167450842644d7d4a3c0 - Sigstore transparency entry: 763800648
- Sigstore integration time:
-
Permalink:
saran-damm/depup@2f5888c4b5863d445430693b479215183744dc8b -
Branch / Tag:
refs/tags/v0.6.0 - Owner: https://github.com/saran-damm
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@2f5888c4b5863d445430693b479215183744dc8b -
Trigger Event:
push
-
Statement type: