Getting Started¶
This section takes you from an empty shell to a rewritten requirements file, and explains what depkeeper decided along the way.
Read it in order:
- Installation — supported platforms, install methods, verification.
- Quick Start — the shortest path to a safe update.
- Basic Usage — reading the output, and the decisions behind each column.
Once you are comfortable, continue to Core Concepts for the model depkeeper uses internally, or to the User Guide for task-oriented workflows.
Prerequisites¶
| Requirement | Detail |
|---|---|
| Python | 3.8 or later. depkeeper filters candidate versions against the interpreter it runs under. |
| Network | Outbound HTTPS to pypi.org. depkeeper has no offline mode; see Operations. |
| Input file | A pip-style requirements file. requirements.txt is the default argument. |
depkeeper never installs, uninstalls or imports the packages it analyses. It reads metadata from the PyPI JSON API only, so it is safe to run against a file describing an environment you do not have installed.
The 60-second version¶
pip install depkeeper # or: pipx install depkeeper
depkeeper check # read-only report
depkeeper update --dry-run # show exactly what would be written
depkeeper update --backup # write it, keeping a timestamped copy
check never modifies anything. update prompts before writing unless you pass -y.
What depkeeper decides for you¶
Before running it against a real project, understand the four rules that shape every recommendation. All four are enforced, not advisory:
| Rule | Effect | Reference |
|---|---|---|
| Major boundary | A package on 1.x is never moved to 2.x. | Version recommendation |
| Python compatibility | Versions whose requires_python excludes your interpreter are skipped. | Version recommendation |
| Declared constraints | Upper bounds and exclusions you wrote are preserved and are never violated. | Version recommendation |
| No pre-releases | Alpha/beta/rc versions are excluded from every candidate list. | Version recommendation |
If any of these produce an unwanted result, that is a configuration or workflow question, not a bug. Best practices covers how to work with them.