Aprender Streamlit Despliegue y aplicaciones multipágina

Módulo del curso de Streamlit

Streamlit
Streamlit
Módulo del curso
Actualizado: 18/04/2026

Módulo: Despliegue y aplicaciones multipágina

Este módulo forma parte del curso de Streamlit. .

El último módulo del curso cubre todo lo necesario para llevar las aplicaciones Streamlit a producción: arquitectura multipágina con la API moderna st.navigation, autenticación de usuarios con st.login, despliegue gratuito en Streamlit Community Cloud y containerización con Docker.

Aplicaciones multipágina con st.navigation

Desde Streamlit 1.36, la forma recomendada de crear apps multipágina es con st.navigation y st.Page:

# app.py (punto de entrada)
import streamlit as st

inicio = st.Page("pages/inicio.py", title="Inicio", icon="🏠")
analisis = st.Page("pages/analisis.py", title="Análisis", icon="📊")
configuracion = st.Page("pages/configuracion.py", title="Configuración", icon="⚙️")

pg = st.navigation([inicio, analisis, configuracion])
st.set_page_config(page_title="Mi Dashboard", page_icon="📈")
pg.run()

Para navegar programáticamente entre páginas:

st.switch_page("pages/analisis.py")

Autenticación con st.login

import streamlit as st

st.login()  # Muestra botón de login con el proveedor configurado

if st.experimental_user.is_logged_in:
    st.write(f"Bienvenido, {st.experimental_user.name}!")
    st.logout()
else:
    st.stop()

Streamlit Community Cloud

El despliegue en Streamlit Community Cloud es gratuito para repositorios públicos de GitHub:

  1. Subir el proyecto a GitHub con app.py y requirements.txt en la raíz.
  2. Acceder a share.streamlit.io e iniciar sesión con GitHub.
  3. Seleccionar el repositorio, la rama y el archivo principal.
  4. Añadir secretos en la sección "Secrets" del panel de la app.
  5. Hacer clic en "Deploy" y esperar unos segundos.
# requirements.txt
streamlit>=1.42.0
pandas>=2.2.0
plotly>=5.22.0
scikit-learn>=1.5.0

Docker

FROM python:3.12-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
EXPOSE 8501
HEALTHCHECK CMD curl --fail http://localhost:8501/_stcore/health
ENTRYPOINT ["streamlit", "run", "app.py", "--server.port=8501", "--server.address=0.0.0.0"]
docker build -t mi-app-streamlit .
docker run -p 8501:8501 mi-app-streamlit

Componentes personalizados

Los componentes personalizados permiten integrar cualquier librería JavaScript en Streamlit mediante streamlit-component-lib. También existen componentes de la comunidad disponibles en PyPI (streamlit-aggrid, streamlit-folium, etc.) que se instalan como cualquier paquete Python.

Explora más sobre Streamlit

Descubre más recursos de Streamlit

Alan Sastre - Autor del curso

Alan Sastre

Ingeniero de Software y formador, CEO en CertiDevs

Ingeniero de software especializado en Full Stack y en Inteligencia Artificial. Como CEO de CertiDevs, Streamlit es una de sus áreas de expertise. Con más de 15 años programando, 6K seguidores en LinkedIn y experiencia como formador, Alan se dedica a crear contenido educativo de calidad para desarrolladores de todos los niveles.