Modern Python dependency management for requirements.txt files
Project description
depkeeper
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
- GitHub Discussions: https://github.com/rahulkaushal04/depkeeper/discussions
- Issues: https://github.com/rahulkaushal04/depkeeper/issues
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7b4cd9f9e0a1385cbe46df58b103d92cfd3dc8e02a2a121bb1ced8ca71c0eee8
|
|
| MD5 |
3cb497ea5d8fc329b810ecfc6a382cb3
|
|
| BLAKE2b-256 |
14e75e5341f8e5ff79904af57d8464e9f4d92e8809c06069789fdc54b5cf5e6b
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
647af086113a366c3774ba20aba681e92889b3ee4947fcdc34d9216f613fefa8
|
|
| MD5 |
74a7418660ee92133a9e71e1b28934e6
|
|
| BLAKE2b-256 |
da90a27b39fc9bca3e79c61c810ae8565addc66aab75d74d060cc9c50055b0bc
|