Practical UV

uv for VS Code — what's outdated and what's vulnerable, in the file you already have open

Bring the power of uv — the blazing-fast Python package manager — directly into VS Code. Works with both pyproject.toml and requirements.txt: flag outdated dependencies, check the ones you declared against the OSV advisory database, convert pip projects to uv in one click, and run uv commands without ever leaving your editor.
View source on GitHubv0.2.0 · VS Code · VSCodium · Cursor · Free & Open Source

Requires VS Code 1.125 or newer.

uv inside the editor — now flagging what's vulnerable, not just what's old.

New in 0.2.0

Known Vulnerabilities, in the File You Declared Them

Your declared dependencies are checked against the OSV advisory database — the PyPA Advisory Database and GitHub Security Advisories. Each finding names the CVE, its severity, and the version that fixes it, with a quick fix that makes the bump for you.

uv.lock (or an == pin) resolves each range to the version you actually install, so a finding means you are affected rather than your constraint permits it. Only top-level dependencies are reported — nothing you can't fix where you're standing.

Off by default. Turning it on is what sends package names and versions to api.osv.dev; a per-package check is always available from the quick-fix menu.

dependencies = [
"requests>=2.31",HIGHCVE-2024-35195
"jinja2>=3.1.2",MODERATECVE-2024-34064
"pydantic>=2.10",no known advisories
]
Upgrade requests to 2.32.0 (fixes CVE-2024-35195)
Resolved from uv.lock — requests 2.31.0

Outdated Detection — Everywhere

PyPI polled in the background, in pyproject.toml or requirements.txt. Every stale dep gets a one-click upgrade.

requests2.31.02.32.3
pydantic2.5.02.10.4
fastapiup to date

Convert pip → uv

A status-bar action on every requirements.txt. One click, and your project is on uv.

# requirements.txt
requests==2.32.3
pydantic>=2.10
fastapi
↑ Convert to uv
$ uv init
$ uv add -r requirements.txt

Dependency Dashboard

An interactive webview — every dep, current vs. latest, a Security column linking each advisory, and an Upgrade button on every outdated row.

requests 2.31.0HIGH2.32.3Upgrade
pydantic 2.5.02.10.4Upgrade
fastapi 0.115.0

Pick Any Version

The full PyPI history of a package, in a quick-pick menu.

▾ pydantic
2.10.4 (latest)
2.10.0
2.9.2
2.8.0
… 47 more

Command Palette

uv sync, add, and run — without dropping to a terminal. Plus a "Run uv sync" prompt on save when versions change.

> uv:
uv sync
uv add <package>
uv run <script>
UV: Show Dependencies
UV: Check Dependencies for Security Advisories
UV: Convert requirements.txt to uv project

pyproject.toml-Native

Reads and writes the file your team already commits. Bump project version, switch requires-python — all from quick-fixes.

[project]
version = "0.2.0" bump major / minor / build
requires-python = ">=3.13" 3.10 · 3.11 · 3.12 · 3.13 · 3.14
dependencies = [
"requests>=2.32",
"pydantic>=2.10",
]

Built for Python developers who use uv

uv's speed, editor-native ergonomics

A focused VS Code extension that turns uv's speed into editor-native ergonomics — and, since 0.2.0, watches the dependencies you declared for published advisories.

01

Known-Vulnerability Detection

Declared dependencies are checked against the OSV advisory database — the PyPA Advisory Database and GitHub Security Advisories. Every finding names the CVE, its severity, and the version that fixes it, and arrives as a diagnostic, a hover entry, and an "Upgrade … (fixes CVE-…)" quick fix.

02

uv.lock-Accurate, Top-Level Only

A uv.lock entry — or an == pin — resolves each declared range to the exact version you actually install, so a finding means you are affected rather than your constraint permits it. Only top-level dependencies are reported, so every finding is fixable in the file in front of you.

03

Check One Package On Demand

Background checking is off by default — enabling it is what sends your package names to api.osv.dev. Until then, ⌘. on any dependency offers "Check <package> for security advisories", and a one-off UV: Check Dependencies command scans the whole file without changing the setting.

04

Outdated Dependency Detection

Practical UV polls PyPI in the background and flags every dependency in pyproject.toml or requirements.txt that has a newer release available — with a one-click upgrade affordance per row.

05

Pip / requirements.txt Support

Same outdated detection, hover info, code actions, and dashboard for requirements.txt, requirements-*.txt, and any *.txt under requirements/. Comments, pip directives, direct URL specs, and PEP 508 markers all parsed correctly.

06

Convert pip → uv

Open a requirements.txt and a "Convert to uv" action appears in the status bar. One click runs uv init (if needed) and uv add -r in the integrated terminal — your project is on uv.

07

Dependency Dashboard

UV: Show Dependencies opens an interactive webview that lists every dependency with its current and latest PyPI versions, a Security column linking each advisory it found, and an Upgrade button on every outdated row.

08

Version Picker

Pick any version from the full PyPI history of a package — pre-releases, yanked releases, or anything in between — straight from a quick-pick menu.

09

Python Version Picker

Place the cursor on requires-python and quick-fix to any Python release — latest patch versions sourced live from endoflife.date, or browse the full history from 3.1 onwards.

10

Project Version Bumping

Cursor on the [project] version line — bump major, minor, or build with a quick-fix. 0.1.0 → 0.1.1, 0.2.0, or 1.0.0 in a single keystroke.

11

Hover Info

Hover any package name to see its latest PyPI version with a link straight to the project page. No tab-switching to look up what you already have open.

12

Command Palette Integration

Run uv sync, uv add, and uv run from VS Code's command palette without dropping to a terminal. Output streams into the integrated panel — and a "Run uv sync" prompt fires automatically when you save a pyproject.toml with changed versions.

Install in one click

Free, open source, and ready to drop into your editor — VS Code, VSCodium, or Cursor. v0.2.0 adds CVE checking against the OSV advisory database, off by default until you ask for it.