Skip to main content

Effortlessly inspect and upgrade dependencies in your pyproject.toml

Project description

📦 depcheckr

PyPI version Python versions License pre-commit enabled

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, or up-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-all
  • fix: correct version parsing issue
  • chore: 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:

  1. Fork the repo and clone it locally
  2. Install dependencies with uv pip install -e .
  3. Set up the pre-commit hooks: pre-commit install
  4. Use conventional commits via cz or cz commit
  5. 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

depcheckr-0.1.0.tar.gz (39.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

depcheckr-0.1.0-py3-none-any.whl (6.9 kB view details)

Uploaded Python 3

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

Hashes for depcheckr-0.1.0.tar.gz
Algorithm Hash digest
SHA256 224f5ce06e1531f8aaaf148c8e66db13596b2779e4422589b6054ae2878d6ef0
MD5 1dd3947fdeca1f34e9cb6f326fde0397
BLAKE2b-256 e1b6fb30732a1ad061a90724b49ef048d0db5cfd668016bb5e172e9735f27c9a

See more details on using hashes here.

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

Hashes for depcheckr-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6a0ce4423579a2cb2ea3714d7fa015d3ce7728b96aba45ed8696b7bf6f3f1117
MD5 d83b540e8407003c2adaefde17339003
BLAKE2b-256 e6f5738928a3d3fd0befbe0ba6460d32b4e97d1ba0c352711f86e7c922c8b675

See more details on using hashes here.

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