Effortlessly inspect and upgrade dependencies in your pyproject.toml
Project description
📦 depcheckr
The smart, modern way to manage your Python dependencies.
Inspect, compare, and upgrade dependencies in your
pyproject.toml— with style and safety.
🚀 Features
- 📖 Inspect your dependencies and check if they’re up to date
- 📈 Get clear update types:
major,minor,patch, orup-to-date - 🔁 Upgrade individual packages or all at once
- 🧪 Dry-run support so nothing breaks accidentally
- 💄 Beautiful CLI powered by Typer and Rich
- 🦄 Python 3.11+ native — built with modern tooling and async speed
📥 Installation
pip install depcheckr
💡 Make sure your project is initialized as a Git repository:
git init
🛠 Usage
🔍 Inspect dependencies
depcheckr inspect show
Or inspect dev dependencies:
depcheckr inspect show --group dev
♻️ Upgrade dependencies
Upgrade one or more specific packages:
depcheckr upgrade apply --upgrade django httpx
Upgrade all outdated packages:
depcheckr upgrade apply --upgrade-all
Preview changes without writing to file:
depcheckr upgrade apply --upgrade-all --dry-run
✅ Git Commit Conventions
depcheckr follows the Conventional Commits standard. This is required for changelog automation and GitHub release notes.
Examples
feat: add support for --upgrade-allfix: correct version parsing issuechore: bump version to 0.2.0
Hooks and Automation
This repo uses pre-commit and commitlint to enforce commit standards.
Install pre-commit hooks:
pre-commit install
Your commits will now be linted automatically.
Optional: Use Commitizen (interactive prompt)
You can install Commitizen:
npm install -g commitizen cz-conventional-changelog
Then run:
cz
Or, if you're using Bun and already initialized the repo with Git:
bun x cz
If using Lazygit, add this to ~/.config/lazygit/config.yml:
customCommands:
- key: "C"
context: "files"
command: "cz commit"
description: "Commit using Commitizen"
subprocess: true
🧪 Requirements
- Python 3.11 or newer
- Git (ensure repo is initialized with
git init)
📦 Packaging and Development
To build locally with uv:
uv venv
uv pip install -e .
depcheckr inspect show
To publish:
uv build
uv pip install twine
python -m twine upload dist/*
🤝 Contributing
Contributions are welcome! To get started:
- Fork the repo and clone it locally
- Install dependencies with
uv pip install -e . - Set up the pre-commit hooks:
pre-commit install - Use conventional commits via
czorcz commit - Run tests and lint before opening a PR
Please follow the Conventional Commits format and ensure all checks pass before submitting pull requests.
🪪 License
MIT License © 2025 Patrick Mazulo
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
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 depcheckr-0.1.0.tar.gz.
File metadata
- Download URL: depcheckr-0.1.0.tar.gz
- Upload date:
- Size: 39.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.7.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
224f5ce06e1531f8aaaf148c8e66db13596b2779e4422589b6054ae2878d6ef0
|
|
| MD5 |
1dd3947fdeca1f34e9cb6f326fde0397
|
|
| BLAKE2b-256 |
e1b6fb30732a1ad061a90724b49ef048d0db5cfd668016bb5e172e9735f27c9a
|
File details
Details for the file depcheckr-0.1.0-py3-none-any.whl.
File metadata
- Download URL: depcheckr-0.1.0-py3-none-any.whl
- Upload date:
- Size: 6.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.7.19
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6a0ce4423579a2cb2ea3714d7fa015d3ce7728b96aba45ed8696b7bf6f3f1117
|
|
| MD5 |
d83b540e8407003c2adaefde17339003
|
|
| BLAKE2b-256 |
e6f5738928a3d3fd0befbe0ba6460d32b4e97d1ba0c352711f86e7c922c8b675
|