- Home
- Skills
- Letsrevel
- Revel Backend
- Updating Deps
updating-deps_skill
- Python
69
GitHub Stars
1
Bundled Files
2 months ago
Catalog Refreshed
4 months ago
First Indexed
Readme & install
Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.
Installation
Preview and clipboard use veilstrat where the catalogue uses aiagentskills.
npx veilstrat add skill letsrevel/revel-backend --skill updating-deps- SKILL.md2.9 KB
Overview
This skill updates Python dependencies for a UV-managed Django backend. It scans for outdated packages, detects unused or transitive dependencies, and safely updates pyproject.toml while preserving important version constraints such as Django 5.2 LTS. The goal is predictable, reviewable dependency changes and a verified sync with uv.
How this skill works
It lists outdated packages via uv and limits focus to top-level entries in pyproject.toml. It searches the codebase for imports to detect unused libraries and checks whether a package is only a transitive dependency. Recommended edits are applied directly to pyproject.toml and brought into the environment with uv sync, followed by the project verification tasks.
When to use it
- Routine dependency maintenance (patch/minor updates)
- Before a release or CI pipeline update
- When dependencies are flagged as unused or transitive
- When preparing to upgrade a major dependency (requires review)
- After adding or removing packages to ensure a clean sync
Best practices
- Use uv commands exclusively; never install with pip directly in this project.
- Prioritize top-level deps listed under [project] dependencies and [dependency-groups] dev.
- Treat types-* packages as dev-only and move them to the dev group.
- Pin frameworks with LTS constraints (e.g., Django >=5.2.x,<6.0) and check pyproject classifiers.
- Categorize changes: apply patch/minor updates automatically, review major version bumps with changelogs.
- Run make check after sync to validate formatting, linting, typing, and i18n checks.
Example use cases
- Run uv pip list --outdated and update several patch and minor versions, then uv sync --dev and make check.
- Find a package that appears unused: grep the repo for imports, confirm it is transitive with uv pip show, then remove it from pyproject.toml and sync.
- Move a types- or test-only package from production dependencies into [dependency-groups] dev, sync, and rerun tests.
- Encounter a major bump for a core library: pin the current LTS range, review release notes, test in a feature branch before broad upgrade.
FAQ
Search the code for imports and run uv pip show <package> to view Required-by. If other deps provide it and you find no direct imports, remove the explicit entry.
What if a major version is required?
Treat major bumps as needing manual review: read release notes, run tests in a branch, and ensure compatibility before editing pyproject.toml.
How do I keep Django on LTS?
Pin Django in pyproject.toml with a range like "django>=5.2.11,<6.0" and include the classifier "Framework :: Django :: 5.2" to signal the intended LTS target.