Skip to main content

📜 UV Support

  • 🔄 Automatic Buffer Switching: Different Python files with PEP 723 metadata get their own UV environments automatically
  • 📊 Statusline Integration: Visual feedback shows which UV environment is active
  • 💾 Auto-sync on Save: Dependencies and Python versions stay updated when you modify the script metadata
  • ⚡ Instant Environment Creation: UV creates and manages environments transparently in the background

Uv support works differently and doesnt use any picker. If you add pep 723 metadata to the top of a python file, :VenvSelect will attempt to use uv to install the correct python version and dependencies and activate the venv. For example:

# /// script
# requires-python = "<= 3.10.0"
# dependencies = [
# "httpx <= 0.10.2",
# "pip"
# ]
# ///

This would install a older version of both python and httpx and activate the venv using uv. You can open a terminal and type pip freeze to see the version of httpx got installed.

You dont use the picker to work with uv environments using pep 723 metadata. Its designed to be automatic in the background. If you have errors in your metadata, you will get notified:

Screenshot