Skip to content

rahulkaushal04/depkeeper

depkeeper

Tests Coverage PyPI version Python versions Downloads Downloads per month License: Apache-2.0

Modern, intelligent Python dependency management for requirements.txt files. Keep your dependencies up-to-date and conflict-free — without switching from pip.


Features

  • Smart Version Checking — discover available package updates with intelligent recommendations
  • Dependency Conflict Resolution — detect and resolve version conflicts automatically
  • Safe Updates — never cross major version boundaries to prevent breaking changes
  • Fast & Concurrent — async PyPI queries for maximum performance
  • Beautiful CLI — rich terminal UI with colors & status indicators
  • Multiple Output Formats — table, simple text, or JSON for CI/CD integration
  • Full Requirements Parsing — PEP 440/508 compliant with support for -r, -c, VCS URLs, and more
  • Flexible — works alongside pip, not instead of it

Coming Soon

  • Security Scanning — detect known vulnerabilities
  • Lock File Generation — create reproducible environments
  • Health Scoring — measure package quality & maintainability
  • Format Conversion — import/export between requirements.txt, pyproject.toml, Pipfile, and more

Quick Start

Installation

pip install depkeeper

Basic Usage

# Check for available updates
depkeeper check

# Check and show only outdated packages
depkeeper check --outdated-only

# Output as JSON (for CI/CD pipelines)
depkeeper check --format json

# Update all packages to safe versions (within major version)
depkeeper update

# Preview updates without applying
depkeeper update --dry-run

# Update specific packages only
depkeeper update -p flask -p requests

# Create backup before updating and skip confirmation
depkeeper update --backup -y

Commands

depkeeper check

Analyze your requirements.txt file to identify packages with available updates.

depkeeper check [FILE] [OPTIONS]

Options:
  --outdated-only           Show only packages with available updates
  -f, --format [table|simple|json]
                            Output format (default: table)
  --strict-version-matching Only use exact version pins
  --check-conflicts         Check for dependency conflicts (default: enabled)

depkeeper update

Update packages to their safe recommended versions (within major version boundaries).

depkeeper update [FILE] [OPTIONS]

Options:
  --dry-run                 Preview changes without applying
  -y, --yes                 Skip confirmation prompt
  --backup                  Create backup file before updating
  -p, --packages TEXT       Update only specific packages (repeatable)
  --strict-version-matching Only use exact version pins
  --check-conflicts         Check for conflicts (default: enabled)

Documentation

Full documentation will be available soon at https://rahulkaushal04.github.io/depkeeper/


Why depkeeper?

Depkeeper bridges the gap between pip’s simplicity and Poetry’s sophistication:

pip poetry depkeeper
simple powerful simple + powerful
minimal tooling strict workflow flexible workflow
limited dependency checking strong resolver strong resolver + update automation
no conflict detection automatic automatic with safe boundaries

Focus on code — let depkeeper handle dependency hygiene.


Contributing

We welcome contributions of all kinds! Please see our Contributing Guide for details.

Development Setup

# Clone the repository
git clone https://github.com/rahulkaushal04/depkeeper.git
cd depkeeper

# Run setup script
bash scripts/setup_dev.sh

# Or manually:
python -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate
pip install -e ".[dev]"
pre-commit install

License

This project is licensed under the Apache-2.0 License — see the LICENSE file for details.


Acknowledgments

  • Built with amazing libraries like Click, Rich, and httpx
  • Inspired by tools such as pip-tools, Poetry, and Dependabot

Support


About

No description, website, or topics provided.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages