Trabajo Práctico: Consigna Integradora Temática Nro. 0, AKA "tepecito"
Un acercamiento amigable al TP #1
Streamlit es un framework de Python para crear aplicaciones web de manera rápida y sencilla (para quienes lo conocen, piensen en Shiny, de R). En este TP0, crearemos colaborativamente una galería de visualizaciones del dataset de Gapminder.
- Forkee este repositorio a su cuenta personal de GitHub. Comience una rama con el mismo nombre que su usuario de dicha plataforma.
- A partir del dataset
gapminder
en el paquete homónimo, y usando la interfazobjects
del paqueteseaborn
, genere una visualización que resalte algún aspecto de interés del dataset. Asegúrese de seguir buenas prácticas: dé nombre a los ejes y título al gráfico, no codifique información innecesaria en canales superfluos, et cetera. - Escriba un sucinto párrafo descriptivo para la visualización.
- Siguiendo la "plantilla" de
lifeExpOceania.py
opaisesPorContinente.py
, agregue un nuevo archivo a la carpetaplotters/
, que contenga una única función sin argumentos, de nombreplot
, y que devuelva:
- un objeto
seaborn.objects.Plot
con el gráfico realizado, o (preferentemente) - un diccionario (
dict
) con tres claves:figura, descripcion autor
con la información relevante.
- Vaya commiteando los cambios que realiza a su rama, hasta estar satisfecha con el resultado.
- Publique la rama en su fork del repositorio actual, y cree un Pull Request contra el repositorio original.
- Ponga como revisor a un compañero de confianza, y atienda a sus indicaciones hasta que se dé por aprobado.
- Ponga como segundo revisor a un miembro de la cátedra (
slap, nz-angel, capitantoto
) y repita.
Con los PRs mergeados, levantaremos una app pública para compartir con los compañerxs de ambos turnos y el resto de la comunidad educativa.
Técnicamente, el desarrollo del TP se puede realizar en cualquier plataforma, y finalmente "venir al repositorio" sólo para crear el plotter
relevante y publicar su rama en GitHub. Sin embargo, les recomiendo ampliamente que intenten desarrollar desde el repositorio, para que vean cómo se va construyendo la app en vivo.
En la consola, desde la raíz del repo (cf.: comando cd
para c
ambiar de d
irectorio, y pwd
para ver el present working directory):
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.in
Con esto, quedará creado un entorno virtual con las librerías necesarias
- para crear la visualizacion (
seaborn, pandas, gapminder
), - para correr la aplicación (
streamlit, watchdog
) y - (opcionalmente) para usar el entorno virtual creado (
.venv
) como kernel de Jupyter
Con el entorno activado, lo único que hay que hacer es usar streamlit run app.py
y navegar a http://localhost:8501/
source .venv/bin/activate
streamlit run app.py
Si no lo hace solo, abrir el navegador e ir a http://localhost:8501/
Cada vez que guarde los archivos, los cambios se verán reflejados en la app automágicamente. Basta con refrescar el sitio (Ctrl+R, F5) para ver los cambios más recientes.