
Upgrade Python Deps
Automates the full cycle of upgrading Python dependencies with uv: locks to the latest compatible versions with a 7-day exclusion window for supply chain safety, syncs your environment, then runs mypy and your test suite to catch breakage. It's opinionated in a good way, stopping at the first failure and summarizing what changed before offering to commit. Most useful when you want to keep dependencies fresh without manually babysitting the upgrade-test-debug loop. The built-in guardrails around conflict resolution and the structured reporting of type errors make it less stressful than doing this by hand, though you'll still need to fix any actual breakage yourself.
- skills.sh installs
- 182
- GitHub stars
- 32
- last updated
- Aug 21, 2026
Install
$ npx -y skills add saaspegasus/django-skills --skill upgrade-python-deps --agent claude-codeInstalls into .claude/skills of the current project.
Files
Your task
Upgrade all Python dependencies and verify nothing is broken.
Step 1: Upgrade the lock file
Run uv lock --upgrade --exclude-newer "7 days" to upgrade all dependencies to their latest compatible
versions (with a 7-day cooldown to mitigate supply-chain attacks).
Review the output for any resolution errors. If there are conflicts, report them to the user and ask how to proceed before continuing.
Step 2: Remove the cooldown marker from the lock file
uv records the --exclude-newer cutoff inside uv.lock as project configuration. Since it
isn't declared in pyproject.toml, any later uv sync or uv run sees a config mismatch,
discards the lockfile, and silently re-resolves everything to the newest versions — undoing
the cooldown. Prevent this by deleting the [options] block at the top of uv.lock
(the exclude-newer / exclude-newer-span lines) before syncing:
sed -i '/^\[options\]$/,/^$/d' uv.lock
The cooldown-resolved versions stay in place; only the marker is removed. Verify with
grep exclude-newer uv.lock (should print nothing).
Step 3: Sync the environment
Sponsors
Details
- Repository
- github.com/saaspegasus/django-skills
- Category
- Python
- First seen
- Jun 3, 2026