Skip to content

Instantly share code, notes, and snippets.

@sandipb
Created April 8, 2025 07:36
Show Gist options
  • Save sandipb/cf00e02282a56291243211cab1c07aaa to your computer and use it in GitHub Desktop.
Save sandipb/cf00e02282a56291243211cab1c07aaa to your computer and use it in GitHub Desktop.
Upgrading llm using uv vs llm itself

llm upgrade options

Using llm itself

Using llm itself preserves plugins.

$ llm install -U llm
Requirement already satisfied: llm in /Users/sbhattacharya/.local/share/uv/tools/llm/lib/python3.13/site-packages (0.23)
Collecting llm
  Downloading llm-0.24-py3-none-any.whl.metadata (6.8 kB)
Requirement already satisfied: click in /Users/sbhattacharya/.local/share/uv/tools/llm/lib/python3.13/site-packages (from llm) (8.1.8)
Collecting condense-json>=0.1.2 (from llm)
  Downloading condense_json-0.1.2-py3-none-any.whl.metadata (4.5 kB)
Requirement already satisfied: openai>=1.55.3 in /Users/sbhattacharya/.local/share/uv/tools/llm/lib/python3.13/site-packages (from llm) (1.66.2)
Requirement already satisfied: click-default-group>=1.2.3 in /Users/sbhattacharya/.local/share/uv/tools/llm/lib/python3.13/site-packages (from llm) (1.2.4)
Requirement already satisfied: sqlite-utils>=3.37 in /Users/sbhattacharya/.local/share/uv/tools/llm/lib/python3.13/site-packages (from llm) (3.38)
Requirement already satisfied: sqlite-migrate>=0.1a2 in /Users/sbhattacharya/.local/share/uv/tools/llm/lib/python3.13/site-packages (from llm) (0.1b0)
Requirement already satisfied: pydantic>=2.0.0 in /Users/sbhattacharya/.local/share/uv/tools/llm/lib/python3.13/site-packages (from llm) (2.10.6)
Requirement already satisfied: PyYAML in /Users/sbhattacharya/.local/share/uv/tools/llm/lib/python3.13/site-packages (from llm) (6.0.2)
Requirement already satisfied: pluggy in /Users/sbhattacharya/.local/share/uv/tools/llm/lib/python3.13/site-packages (from llm) (1.5.0)
Requirement already satisfied: python-ulid in /Users/sbhattacharya/.local/share/uv/tools/llm/lib/python3.13/site-packages (from llm) (3.0.0)
Requirement already satisfied: setuptools in /Users/sbhattacharya/.local/share/uv/tools/llm/lib/python3.13/site-packages (from llm) (76.0.0)
Requirement already satisfied: pip in /Users/sbhattacharya/.local/share/uv/tools/llm/lib/python3.13/site-packages (from llm) (25.0.1)
Requirement already satisfied: puremagic in /Users/sbhattacharya/.local/share/uv/tools/llm/lib/python3.13/site-packages (from llm) (1.28)
Requirement already satisfied: anyio<5,>=3.5.0 in /Users/sbhattacharya/.local/share/uv/tools/llm/lib/python3.13/site-packages (from openai>=1.55.3->llm) (4.8.0)
Requirement already satisfied: distro<2,>=1.7.0 in /Users/sbhattacharya/.local/share/uv/tools/llm/lib/python3.13/site-packages (from openai>=1.55.3->llm) (1.9.0)
Requirement already satisfied: httpx<1,>=0.23.0 in /Users/sbhattacharya/.local/share/uv/tools/llm/lib/python3.13/site-packages (from openai>=1.55.3->llm) (0.28.1)
Requirement already satisfied: jiter<1,>=0.4.0 in /Users/sbhattacharya/.local/share/uv/tools/llm/lib/python3.13/site-packages (from openai>=1.55.3->llm) (0.9.0)
Requirement already satisfied: sniffio in /Users/sbhattacharya/.local/share/uv/tools/llm/lib/python3.13/site-packages (from openai>=1.55.3->llm) (1.3.1)
Requirement already satisfied: tqdm>4 in /Users/sbhattacharya/.local/share/uv/tools/llm/lib/python3.13/site-packages (from openai>=1.55.3->llm) (4.67.1)
Requirement already satisfied: typing-extensions<5,>=4.11 in /Users/sbhattacharya/.local/share/uv/tools/llm/lib/python3.13/site-packages (from openai>=1.55.3->llm) (4.12.2)
Requirement already satisfied: annotated-types>=0.6.0 in /Users/sbhattacharya/.local/share/uv/tools/llm/lib/python3.13/site-packages (from pydantic>=2.0.0->llm) (0.7.0)
Requirement already satisfied: pydantic-core==2.27.2 in /Users/sbhattacharya/.local/share/uv/tools/llm/lib/python3.13/site-packages (from pydantic>=2.0.0->llm) (2.27.2)
Requirement already satisfied: sqlite-fts4 in /Users/sbhattacharya/.local/share/uv/tools/llm/lib/python3.13/site-packages (from sqlite-utils>=3.37->llm) (1.0.3)
Requirement already satisfied: tabulate in /Users/sbhattacharya/.local/share/uv/tools/llm/lib/python3.13/site-packages (from sqlite-utils>=3.37->llm) (0.9.0)
Requirement already satisfied: python-dateutil in /Users/sbhattacharya/.local/share/uv/tools/llm/lib/python3.13/site-packages (from sqlite-utils>=3.37->llm) (2.9.0.post0)
Requirement already satisfied: idna>=2.8 in /Users/sbhattacharya/.local/share/uv/tools/llm/lib/python3.13/site-packages (from anyio<5,>=3.5.0->openai>=1.55.3->llm) (3.10)
Requirement already satisfied: certifi in /Users/sbhattacharya/.local/share/uv/tools/llm/lib/python3.13/site-packages (from httpx<1,>=0.23.0->openai>=1.55.3->llm) (2025.1.31)
Requirement already satisfied: httpcore==1.* in /Users/sbhattacharya/.local/share/uv/tools/llm/lib/python3.13/site-packages (from httpx<1,>=0.23.0->openai>=1.55.3->llm) (1.0.7)
Requirement already satisfied: h11<0.15,>=0.13 in /Users/sbhattacharya/.local/share/uv/tools/llm/lib/python3.13/site-packages (from httpcore==1.*->httpx<1,>=0.23.0->openai>=1.55.3->llm) (0.14.0)
Requirement already satisfied: six>=1.5 in /Users/sbhattacharya/.local/share/uv/tools/llm/lib/python3.13/site-packages (from python-dateutil->sqlite-utils>=3.37->llm) (1.17.0)
Downloading llm-0.24-py3-none-any.whl (59 kB)
Downloading condense_json-0.1.2-py3-none-any.whl (8.5 kB)
Installing collected packages: condense-json, llm
  Attempting uninstall: llm
    Found existing installation: llm 0.23
    Uninstalling llm-0.23:
      Successfully uninstalled llm-0.23
Successfully installed condense-json-0.1.2 llm-0.24

$ llm plugins
[
  {
    "name": "llm-ollama",
    "hooks": [
      "register_commands",
      "register_embedding_models",
      "register_models"
    ],
    "version": "0.9.1"
  },
  {
    "name": "llm-anthropic",
    "hooks": [
      "register_models"
    ],
    "version": "0.15.1"
  }
]

Using uv to upgrade

Using uv to upgrade keeps its metadata synced with the actual version installed, but it wipes out the plugins.

$ uv tool upgrade llm
Modified llm environment
 - anthropic==0.49.0
 - anyio==4.8.0
 + anyio==4.9.0
 - llm-anthropic==0.15.1
 - llm-ollama==0.9.1
 - ollama==0.4.7
 - openai==1.66.2
 + openai==1.71.0
 - pydantic==2.10.6
 + pydantic==2.11.2
 - pydantic-core==2.27.2
 + pydantic-core==2.33.1
 - setuptools==76.0.0
 + setuptools==78.1.0
 - typing-extensions==4.12.2
 + typing-extensions==4.13.1
 + typing-inspection==0.4.0

$ llm plugins
[]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment