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://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.dev3.tar.gz (66.4 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.dev3-py3-none-any.whl (76.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: depkeeper-0.1.0.dev3.tar.gz
  • Upload date:
  • Size: 66.4 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.dev3.tar.gz
Algorithm Hash digest
SHA256 fdb23abc75389271b14d9902ef4cf5aa2bc5db9f1b87a06878bb7d974097e8c7
MD5 f6c129b9414c9f09f6a65250e3071993
BLAKE2b-256 1724cd9ce51ddb84e347662450d796c418cdc9947debf9a776abafcadda75fb4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: depkeeper-0.1.0.dev3-py3-none-any.whl
  • Upload date:
  • Size: 76.6 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.dev3-py3-none-any.whl
Algorithm Hash digest
SHA256 3eae6a2b906f6d91396fcf213a2f8e98d0567638bc8081127ddd3721385f0c51
MD5 88daa791323054f88bbf65af375bad3d
BLAKE2b-256 4e0ad43b7ec05a43dfc43ff9911c3178841edb180fa59f8a5c078ef73d26e849

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