Skip to main content

Modern Python dependency management for requirements.txt files

Project description

depkeeper

Tests Coverage PyPI version Python versions 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://docs.depkeeper.dev


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.dev2.tar.gz (16.0 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.dev2-py3-none-any.whl (15.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: depkeeper-0.1.0.dev2.tar.gz
  • Upload date:
  • Size: 16.0 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.dev2.tar.gz
Algorithm Hash digest
SHA256 c8f5c1eccc54e1e5fb66e6346c0fa0b395858d2847110f1864e3639923b0aafb
MD5 79e710c2a056b9d99330ab40707fbbf2
BLAKE2b-256 c4937478c889a7e58e61885376dbac64330e9d3eed021e72b35f8554da5f3dfc

See more details on using hashes here.

File details

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

File metadata

  • Download URL: depkeeper-0.1.0.dev2-py3-none-any.whl
  • Upload date:
  • Size: 15.0 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.dev2-py3-none-any.whl
Algorithm Hash digest
SHA256 ffedce5bd3b5796acb8cc9afb6e0341ae6d6812efdcc52333bd97e862f234a55
MD5 dfc1a49e04467239e0402ed82d95804e
BLAKE2b-256 ea1c69f265a083044c7b665efca4a6965fb08d60e57e9cb578ba1526a2f16c44

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