textual-autocomplete
Easily add autocomplete dropdowns to your Textual apps.
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Textual 2.0 or above; Python 3.9 or later.
- 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 · maintenance · safety
MIT (permissive) — MIT license (permissive): you can use, modify, and distribute this package freely in commercial and open-source projects with minimal restrictions.
last release 2025-09-24 (324 days)
0 known vulnerabilities (OSV.dev, 2026-08-14) · 719,301 downloads/mo, #5,241 on PyPI
Alternatives
Verify before relying
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()- 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.
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 on this page. Verify before relying on it.
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
textual-autocomplete on PyPI
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.
Requires Textual 2.0 or above; Python 3.9 or later.
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()
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 the current Python release >=3.9.0 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 2 packagestextualtyping-extensions |
| Maintenance | Aging 324 days since the last release |
| First released | |
| Downloads | 719,301 / month, #5,241 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableEnvironment :: ConsoleIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.9Typing :: Typed |
Evidence: textual_autocomplete-4.0.6-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “textual input autocomplete”
- textual-autocompleteAdds fuzzy-matching autocomplete dropdowns to Textual terminal UI…
- textual-devtextual-dev provides a command-line tool for developing and testing…
- textual-plotextWraps the Plotext plotting library as a Textual widget, allowing…
Give your agent the search over MCP, or paste the wish link into any chat.
More Terminals packages
Wraps any iterable to display a real-time progress bar in the terminal or Jupyter notebook, showing iteration count, elapsed time, and estimated time remaining.
Rich renders styled text, tables, progress bars, syntax highlighting, markdown, and tracebacks to the terminal with minimal code.
Colorama makes ANSI escape sequences for colored terminal text work on Windows by intercepting and converting them to win32 API calls, while passing through unchanged on other platforms.
Install it if you need colored terminal output to work on Windows or want to use ANSI-based libraries portably; skip it only if you target non-Windows platforms…
Measures the displayed width of Unicode strings in terminals, accounting for wide characters, combining marks, and terminal escape sequences that standard Python string functions mishandle.
Install it if your application formats text for terminals and handles non-ASCII characters.
Run a subprocess in a pseudo terminal (pty) and interact with its input and output, enabling automation of interactive programs that require terminal features like password prompts or curses-style interfaces.
However, note that it is aging (last release 2020-12-28) and not actively maintained; it works well for its narrow, well-defined purpose but won't receive updates for…
Pexpect spawns and controls interactive console applications by sending input and matching output patterns, automating tasks that would otherwise require manual interaction.
See also textual · textual-universal-directorytree · trogon · textual-plotext · textual-image · pick · textual-dev · textual-serve · django-select2 · ascii-colors