streamlit-keyup
Text input that renders on keyup
What it is and what it does
streamlit-keyup wraps Streamlit's text input to fire updates on every keystroke rather than waiting for the user to finish and submit. It's a thin layer on top of streamlit and jinja2 that lets you react to text as it's being typed, useful for search-as-you-type, live validation, or instant filtering in a web app.
The package offers a function that mimics Streamlit's text input API but adds a debounce parameter to throttle how often updates fire. It's designed for developers already building Streamlit apps who need finer-grained control over text input timing without building custom JavaScript.
Use it for:
- Search-as-you-type interfaces where results filter or update with each character typed.
- Live validation of user input (e.g., checking if a username is available in real time).
- Instant autocomplete or suggestion lists that respond to partial text entry.
- Debounced API calls triggered by user typing, to avoid overwhelming a backend with requests.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Adds real-time text input to Streamlit apps that fires on every keystroke, with optional debouncing to throttle update frequency.
Yes, if you're building a Streamlit app and need keystroke-level responsiveness on text input. Install friction is minimal and maintenance is active. Verify the license terms in the repository first, since the package metadata does not declare one. No known security issues.
Install
streamlit-keyup on PyPI
pip
pip install streamlit-keyupuv
uv add streamlit-keyuppoetry
poetry add streamlit-keyupInstalling streamlit-keyup
Before you install
Low friction install with just two runtime dependencies (streamlit and jinja2). Actively maintained as of early 2025 with a modest but engaged user base.
License in practice
License status is unclear — no SPDX identifier or raw license text is available in the package metadata, so you should verify the actual license terms in the repository before use.
Quickstart
pip install streamlit-keyup
import streamlit as st
from streamlit_keyup import st_keyup
value = st_keyup("Enter a value", key="0")
st.write(value)
Verify before relying
- Actual license terms — metadata shows no SPDX or raw license declaration; check the repository directly.
- Whether debounce timing is client-side or server-side and how it interacts with Streamlit's rerun model.
- Specific use cases beyond what the description excerpt documents.
Package facts
| License | not declared (unclear) |
| Python support | supports the current Python release (>=3.7) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — streamlit, jinja2 |
| Maintenance | actively maintained — 589 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 288,430/month — #8,021 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: streamlit_keyup-0.3.0-py3-none-any.whl
Tags
More Application Frameworks packages
FastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
textualTextual is a Python framework for building…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
mcpBuild and connect to Model Context Protocol…
permissive · top 1,000 on PyPI
WerkzeugWerkzeug is a WSGI utility library providing…
permissive · top 1,000 on PyPI
streamlit-camera-input-liveProvides a Streamlit component that captures…
unclear · top 15,000 on PyPI
streamlit-autorefreshAdds a frontend timer to Streamlit apps that…
unclear · top 15,000 on PyPI
streamlit-sortablesStreamlit Sortables adds drag-and-drop sortable…
permissive · top 15,000 on PyPI
st-themeDetects and returns the active theme (light or…
permissive · top 15,000 on PyPI
streamlit-webrtcAdds real-time video and audio streaming over…
permissive · top 15,000 on PyPI
streamlit-plotly-eventsCaptures click, select, and hover events from…
unclear · top 15,000 on PyPI
st-annotated-textDisplays annotated text with labels and…
permissive · top 15,000 on PyPI
streamlit-notifyStreamlit-Notify provides persistent status…
permissive · top 15,000 on PyPI
streamlit-image-coordinatesA Streamlit component that displays an image…
permissive · top 15,000 on PyPI
streamlit-code-editorEmbeds an interactive code editor component…
unclear · top 15,000 on PyPI