--- id: textual-autocomplete version: "4.0.6" license: MIT license_treatment: permissive maintenance: aging --- # textual-autocomplete — Easily add autocomplete dropdowns to your Textual apps. License: permissive · Maintenance: aging · Downloads: 719.3K/mo ## What it is and what it does textual-autocomplete is a dropdown widget for Textual terminal applications that attaches to Input widgets and displays matching suggestions as the user types. It implements fuzzy matching so typos don't break completion, supports arrow-key and Tab navigation, and can be styled via Textual CSS. Candidates can be supplied as a static list, as DropdownItem objects with metadata columns and rich markup, or via a callback function that runs on each keystroke to generate dynamic suggestions. The package includes a specialized PathAutoComplete widget for filesystem path completion with directory caching. It's designed to integrate seamlessly into Textual apps with minimal setup—typically just instantiating AutoComplete with a target input widget and a candidate list. The library is typed, supports Python 3.9 through 3.13, and carries no known security vulnerabilities. Use it for: - Add command or option name completion to terminal CLI tools built with Textual. - Build a file browser or path selector with filesystem autocomplete in a terminal UI. - Create a search interface where users can filter from a large list of items with fuzzy matching. - Display language, color, or category names with emoji or styled metadata columns as users type. - Implement dynamic suggestions from a database or API by supplying a callback function. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Adds fuzzy-matching autocomplete dropdowns to Textual terminal UI input widgets, with keyboard navigation, styling options, and support for dynamic candidate lists or filesystem paths. Yes, if you're building a Textual terminal application and need autocomplete on input fields. The package is stable, has low install friction, carries no vulnerabilities, and the MIT license poses no restrictions. The aging maintenance status (no release in 324 days) is a minor concern for long-term support, but the feature set is complete and the library is marked Production/Stable. ## Install pip install textual-autocomplete uv add textual-autocomplete poetry add textual-autocomplete ## Installing textual-autocomplete Before you install: Low friction: pure Python wheel with only two runtime dependencies (textual and typing-extensions). Maintenance status is aging—last release was 324 days ago—but the package is marked Production/Stable and carries no known vulnerabilities. License in practice: MIT license (permissive): you can use, modify, and distribute this package freely in commercial and open-source projects with minimal restrictions. Quickstart: from textual.app import App, ComposeResult from textual.widgets import Input from textual_autocomplete import AutoComplete class MyApp(App): def compose(self) -> ComposeResult: text_input = Input(placeholder="Type...") yield text_input yield AutoComplete(text_input, candidates=["Red", "Green", "Blue"]) app = MyApp() app.run() Requires Textual 2.0 or above; Python 3.9 or later. Verify before relying: - Whether the callback-based dynamic candidate system performs acceptably with large datasets or high-frequency updates. - Real-world performance characteristics of fuzzy matching on very long candidate lists. ## Package facts - License: MIT (permissive) - Python support: supports_current - Install friction: low - Maintenance: aging - Downloads: 719.3K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags textual input autocomplete, terminal ui dropdown completion, fuzzy matching text input, textual widget autocomplete, keyboard-navigable suggestions, terminal autocomplete library, path completion terminal, terminal-ui, textual-widget, fuzzy-search [View on SkillFed](https://skillfed.io/packages/textual-autocomplete) · [View on PyPI](https://pypi.org/project/textual-autocomplete/)