Esta página se muestra en inglés. Una traducción al español está en curso.
SkillsApr 12, 2026·3 min de lectura

Streamlit — Build Data Apps in Pure Python in Minutes

Streamlit is the fastest way to build and share data applications. Write a Python script with Streamlit commands and get an interactive web app with widgets, charts, and real-time updates — no frontend experience needed.

Listo para agents

Instalación lista para agent

Este activo puede instalarse después de elegir el runtime, revisar el plan y ejecutar el comando correspondiente.

Native · 98/100Política: permitir
Superficie agent
Cualquier agent MCP/CLI
Tipo
Skill
Instalación
Single
Confianza
Confianza: Established
Entrada
step-1.md
Comando de instalación directa
npx -y tokrepo@latest install 10260e7d-366d-11f1-9bc6-00163e2b0d79 --target codex

Ejecutar después de confirmar el plan con dry-run.

TL;DR
Streamlit turns Python scripts into interactive data apps with zero frontend code required.
§01

What it is

Streamlit is a Python framework for building interactive data applications. You write a Python script using Streamlit's API, and it renders a web app with widgets, charts, tables, and media -- no HTML, CSS, or JavaScript required. Streamlit is open-source and now part of Snowflake.

The target audience includes data scientists who need to share analysis with stakeholders, ML engineers building model monitoring dashboards, and analysts who want interactive reports without learning frontend development.

§02

How it saves time or tokens

Streamlit eliminates the frontend development step entirely. A dashboard that would take days to build with React or Vue takes an hour with Streamlit. The script-to-app model means every code change instantly reflects in the browser -- no build step, no bundling.

For AI-assisted workflows, Streamlit's declarative API is token-efficient. An LLM can generate a complete data app from a short description because the API surface is small and consistent: st.write(), st.dataframe(), st.plotly_chart(), and a handful of input widgets cover most use cases.

§03

How to use

  1. Install Streamlit:
pip install streamlit
  1. Create a Python file:
# app.py
import streamlit as st
import pandas as pd

st.title('Sales Dashboard')

data = pd.DataFrame({
    'Product': ['Widget A', 'Widget B', 'Widget C'],
    'Revenue': [45000, 32000, 28000]
})

st.bar_chart(data.set_index('Product'))
st.dataframe(data)

filter_val = st.slider('Minimum Revenue', 0, 50000, 25000)
st.write(data[data['Revenue'] >= filter_val])
  1. Run the app:
streamlit run app.py
§04

Example

A machine learning model explorer:

import streamlit as st
from sklearn.datasets import load_iris
from sklearn.ensemble import RandomForestClassifier

st.title('Iris Classifier')

iris = load_iris()
model = RandomForestClassifier()
model.fit(iris.data, iris.target)

col1, col2 = st.columns(2)
with col1:
    sepal_l = st.slider('Sepal Length', 4.0, 8.0, 5.8)
    sepal_w = st.slider('Sepal Width', 2.0, 4.5, 3.0)
with col2:
    petal_l = st.slider('Petal Length', 1.0, 7.0, 4.0)
    petal_w = st.slider('Petal Width', 0.1, 2.5, 1.2)

pred = model.predict([[sepal_l, sepal_w, petal_l, petal_w]])
st.write(f'Predicted species: **{iris.target_names[pred[0]]}**')
§05

Related on TokRepo

§06

Common pitfalls

  • Streamlit reruns the entire script on every interaction. Use @st.cache_data or @st.cache_resource to avoid reloading expensive data or models on each widget change.
  • Session state (st.session_state) is required for multi-step workflows. Without it, form data resets on every rerun.
  • Streamlit apps are single-threaded. Long-running computations block the UI. Use background threads or async patterns for heavy processing.
  • Deploying to Streamlit Community Cloud is free but has resource limits. For production use, containerize with Docker and deploy on your own infrastructure.
  • Custom CSS is possible but limited. If you need pixel-perfect design control, consider Gradio Blocks or a full frontend framework.

Preguntas frecuentes

Is Streamlit free to use?+

Yes. Streamlit is open-source under the Apache 2.0 license. Streamlit Community Cloud provides free hosting for public apps. Snowflake offers paid enterprise hosting with additional features like authentication and scaling.

How does Streamlit compare to Gradio?+

Both create Python web apps without frontend code. Streamlit is better for dashboards and multi-page data apps. Gradio is better for single-function ML demos with specific input/output types. Streamlit offers more layout control; Gradio offers simpler model serving.

Can Streamlit handle real-time data?+

Streamlit supports auto-refresh via st.rerun() and periodic updates with st.empty() containers. For true real-time streaming, use st.write_stream() or WebSocket integrations. The script-rerun model adds slight latency compared to WebSocket-native frameworks.

Does Streamlit support authentication?+

Streamlit Community Cloud supports Google OAuth for basic access control. For custom authentication, use third-party libraries like streamlit-authenticator or deploy behind an auth proxy (OAuth2 Proxy, Cloudflare Access).

Can I use Streamlit for multi-page apps?+

Yes. Streamlit supports multi-page apps natively. Create a pages/ directory with one Python file per page. Each file appears as a navigation item in the sidebar automatically. No routing configuration needed.

Referencias (3)

Discusión

Inicia sesión para unirte a la discusión.
Aún no hay comentarios. Sé el primero en compartir tus ideas.

Activos relacionados