streamlit-notify
A Streamlit component that provides toast notifications that persist across reruns
What it is and what it does
Streamlit-Notify wraps Streamlit's built-in status elements (toasts, balloons, success/error/warning/info messages) to make them persist across app reruns. Normally, Streamlit reruns the entire script from top to bottom on user interaction, which causes notifications to disappear. This package solves that by storing notifications in session state and displaying them on the next rerun cycle, so users see the feedback they triggered even after the app has rerun.
You queue notifications by calling functions like stn.toast(), stn.success(), or stn.error() anywhere in your app logic, then call stn.notify() at the top of your script to display all queued messages. The package supports priority ordering, attaching custom data to notifications, and clearing or checking notifications programmatically. It depends only on Streamlit and packaging, making installation straightforward.
Use it for:
- Show confirmation toasts after form submission without losing the message when the app reruns.
- Display error alerts from validation or API calls that persist until the user acknowledges them.
- Queue multiple status updates (success, warning, info) in a single interaction and display them all on the next render.
- Build multi-step workflows where each step's feedback (success or error) remains visible across reruns.
- Implement priority-based notification ordering so critical errors appear before informational messages.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Streamlit-Notify provides persistent status notifications (toasts, balloons, success/error/warning/info messages) that survive app reruns by queuing them in session state.
Yes, if you need persistent notifications in a Streamlit app and accept the maintenance risk. The package solves a real Streamlit limitation with low install friction and permissive licensing. However, the aging maintenance status (2 stars, last commit July 2025, only months old) means limited community validation and uncertain long-term support—consider it for prototypes or low-stakes apps, and monitor the repo for updates.
Install
streamlit-notify on PyPI
pip
pip install streamlit-notifyuv
uv add streamlit-notifypoetry
poetry add streamlit-notifyInstalling streamlit-notify
Before you install
Low friction install with only two runtime dependencies (streamlit and packaging). Maintenance status is aging—last commit was 2025-07-01 and the project has only 2 stars, suggesting limited community adoption and uncertain long-term support.
License in practice
MIT license is permissive; you can use, modify, and distribute this package freely with minimal restrictions.
Quickstart
pip install streamlit-notify
import streamlit as st
import streamlit_notify as stn
stn.notify() # Display queued notifications
if st.button("Show Toast"):
stn.toast("Message", icon="✅")
st.rerun()
Requires Streamlit to be installed and an active Streamlit app context; notifications only display after st.rerun() is called.
Verify before relying
- Whether the package is actively maintained beyond the July 2025 commit date.
- Real-world stability and edge cases when handling many queued notifications or complex data types.
- Performance impact on large Streamlit apps with frequent reruns.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.7) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — streamlit, packaging |
| Maintenance | aging — 409 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 108,504/month — #12,555 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: streamlit_notify-0.3.1-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
reflex-components-sonnerProvides Reflex components for Sonner toast…
permissive · top 15,000 on PyPI
streamlit-pdfAdds a PDF viewer component to Streamlit apps…
permissive · top 15,000 on PyPI
streamlit-autorefreshAdds a frontend timer to Streamlit apps that…
unclear · top 15,000 on PyPI
notify_pySends cross-platform desktop notifications from…
permissive · top 15,000 on PyPI
extra-streamlit-componentsProvides additional UI components for Streamlit…
permissive · top 15,000 on PyPI
st-themeDetects and returns the active theme (light or…
permissive · top 15,000 on PyPI
gym-noticesDelivers notices about Gym library versions to…
permissive · top 5,000 on PyPI
notifiersNotifiers provides a unified interface to send…
permissive · top 15,000 on PyPI
notify2notify2 creates and displays desktop…
permissive · top 15,000 on PyPI
appriseApprise sends notifications to dozens of…
permissive · top 5,000 on PyPI