Skip to main content

Modern Python dependency management for requirements.txt files

Project description

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


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

depkeeper-0.1.0.tar.gz (72.9 kB view details)

Uploaded Source

Built Distribution

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

depkeeper-0.1.0-py3-none-any.whl (79.5 kB view details)

Uploaded Python 3

File details

Details for the file depkeeper-0.1.0.tar.gz.

File metadata

  • Download URL: depkeeper-0.1.0.tar.gz
  • Upload date:
  • Size: 72.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.8.0

File hashes

Hashes for depkeeper-0.1.0.tar.gz
Algorithm Hash digest
SHA256 7b4cd9f9e0a1385cbe46df58b103d92cfd3dc8e02a2a121bb1ced8ca71c0eee8
MD5 3cb497ea5d8fc329b810ecfc6a382cb3
BLAKE2b-256 14e75e5341f8e5ff79904af57d8464e9f4d92e8809c06069789fdc54b5cf5e6b

See more details on using hashes here.

File details

Details for the file depkeeper-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: depkeeper-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 79.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.8.0

File hashes

Hashes for depkeeper-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 647af086113a366c3774ba20aba681e92889b3ee4947fcdc34d9216f613fefa8
MD5 74a7418660ee92133a9e71e1b28934e6
BLAKE2b-256 da90a27b39fc9bca3e79c61c810ae8565addc66aab75d74d060cc9c50055b0bc

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