Skip to main content

Effortlessly inspect and upgrade dependencies in your pyproject.toml

Project description

📦 depcheckr

PyPI version Python versions License Tests Release

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.3.tar.gz (39.4 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.3-py3-none-any.whl (6.9 kB view details)

Uploaded Python 3

File details

Details for the file depcheckr-0.1.3.tar.gz.

File metadata

  • Download URL: depcheckr-0.1.3.tar.gz
  • Upload date:
  • Size: 39.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.7.19

File hashes

Hashes for depcheckr-0.1.3.tar.gz
Algorithm Hash digest
SHA256 e1a8c23d4c11062cb86fdf9b42990643ca6d0022dfd6e5f5b78f1fec139df457
MD5 3f809f381a356dbf43b2996c076eeae4
BLAKE2b-256 53c7b15c39b2354a2ac090bfa2bfaf8d517e4b8f4695e57eed1d18567170b83c

See more details on using hashes here.

File details

Details for the file depcheckr-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: depcheckr-0.1.3-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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 b0fcb45cd47a3c3b79f317854663a0908dd0362eb823cbc38ff3c7f72c32f5bc
MD5 c4bd7c078135215ba88378f4e804144e
BLAKE2b-256 c9d0a52621618315c946c27aff1d8bb0c7bf2c98ff8836253186408365acd9ee

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