Skip to main content

Fast dependency suggestions and shell completion for uv add

Project description

uv-add-complete

PyPI Python Smoke License

Smart dependency completion for uv add.

uv-add-complete helps you discover and add Python packages while you type. It adds shell completions for uv add, shows package suggestions from an offline lookup catalog, and includes useful metadata such as category and description.

uv-add-complete package completion UI

Why

uv is fast, but remembering exact package names is still friction:

uv add fast<Tab> py<Tab>

uv-add-complete turns that moment into a guided package search. It is designed for modern Python projects: web apps, CLIs, data tooling, AI agents, LangChain integrations, ML libraries, vector databases, testing tools, and more.

Features

  • Completion support for uv add and uvpy add.
  • Offline package lookup catalog bundled with the package.
  • 1,500+ curated package records generated from PyPI metadata.
  • Includes modern AI/ML packages such as openai, anthropic, pydantic-ai, langchain, langgraph, langsmith, manim, and many langchain-* integrations.
  • Category and description metadata for richer terminal suggestions.
  • Auto-detects PowerShell, Bash, Zsh, and Fish during setup.
  • Optional PowerShell Tab UI with a table-style package picker.

Install

Global tool setup

Use this when you want completion available across projects:

uv tool install "uv-add-complete>=0.1.6"
uvpy init --yes

Restart your shell, then try:

uv add fast<Tab> py<Tab>

Project-local setup

Use this when you only want it inside one project:

uv add "uv-add-complete>=0.1.6"
uv run uvpy init --yes

When installed locally, run commands through uv run:

uv run uvpy --version
uv run uvpy add py --list

Shell setup

uvpy init auto-detects your shell:

uvpy init --yes

If detection is wrong, pass the shell explicitly:

uvpy init --shell powershell --yes
uvpy init --shell pwsh --yes
uvpy init --shell zsh --yes
uvpy init --shell bash --yes
uvpy init --shell fish --yes

PowerShell users can opt into the experimental table-style Tab picker:

uvpy init --yes --tab-ui

Usage

Show matching packages with metadata:

uvpy add py --list

Return package names for shell integrations:

uvpy _complete add fast --format names

Return structured JSON:

uvpy _complete add fast --format json

List the bundled catalog:

uv-aide packages

Catalog

The bundled catalog is stored at:

src/uv_aide/data/packages.json

Each record uses this schema:

{
  "name": "fastapi",
  "summary": "FastAPI framework, high performance, easy to learn, fast to code, ready for production",
  "category": "web",
  "project_url": "https://pypi.org/project/fastapi/"
}

The catalog is built from PyPI project metadata and curated categories. It keeps completion fast because shell completion can use local data instead of making a network request on every Tab press.

Development

uv sync
uv run pytest
uv run ruff check .

Useful local smoke checks:

uv run uvpy add lang --list
uv run uvpy init --shell powershell --dry-run
uv run uvpy init --shell zsh --dry-run
uv run uvpy _complete add langchain-open --format names

Release

This project publishes to PyPI through GitHub Actions and PyPI Trusted Publishing. PyPI versions are immutable, so every release must use a fresh version number.

For 0.1.6:

uv version 0.1.6
git add .
git commit -m "feat(catalog): expand package lookup database"
git push
gh release create v0.1.6 --title "v0.1.6" --notes "Expand package lookup database"

Links

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

uv_add_complete-0.1.6.tar.gz (66.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

uv_add_complete-0.1.6-py3-none-any.whl (65.8 kB view details)

Uploaded Python 3

File details

Details for the file uv_add_complete-0.1.6.tar.gz.

File metadata

  • Download URL: uv_add_complete-0.1.6.tar.gz
  • Upload date:
  • Size: 66.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.0 {"installer":{"name":"uv","version":"0.12.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for uv_add_complete-0.1.6.tar.gz
Algorithm Hash digest
SHA256 dfdb58ce33efa07e4dc572bbfa52f78e2511e2013a6214d24d33731018937b91
MD5 413e46e05f7fb738108e86d08c38c413
BLAKE2b-256 35fe413012bd178d560fac6a3e3c725a102a40a36526ddfec04a1b5f7feb1848

See more details on using hashes here.

File details

Details for the file uv_add_complete-0.1.6-py3-none-any.whl.

File metadata

  • Download URL: uv_add_complete-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 65.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.0 {"installer":{"name":"uv","version":"0.12.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for uv_add_complete-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 7a212104670d15f0053a6f5a8006b06fb25b7bbc39aa505eac278e7177244186
MD5 0b085e72d7f4098be8f0bde86d27e325
BLAKE2b-256 b53aa5ee75bb3d8b42d490891dad17d8defba7c1823c4d6ef82588046cb2a7db

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page