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.7"
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.7"
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.7:

uv version 0.1.7
git add .
git commit -m "feat(catalog): expand package lookup database"
git push
gh release create v0.1.7 --title "v0.1.7" --notes "Fix README screenshot and smoke workflow"

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.7.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.7-py3-none-any.whl (65.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: uv_add_complete-0.1.7.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.7.tar.gz
Algorithm Hash digest
SHA256 5096db8681a431513558c330494b2cad7410cb88ed32f434feb8b1c46ae539f9
MD5 9b3419fcac4e6719aed9159be68f60c7
BLAKE2b-256 f1bb6374eb3dfa3052c4c8857ab361a53ae635fba23d6e41f22ec2547611f1d6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: uv_add_complete-0.1.7-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.7-py3-none-any.whl
Algorithm Hash digest
SHA256 59554f196f6d19f44d9cefa5d9dc1422759577361abac9fd7f7972f03c6267c4
MD5 bbbde9f6d7153ad41dd71de0b4fd79dc
BLAKE2b-256 bc9a25c664a79a1e905b02e7dbf147956b6a83d8ebda1ca606c80318bfe4acfa

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