Weaverlet: Biblioteca Orientada a Componentes para la Composición de Aplicaciones de Visualización de Datos

Desarrollador

Dr. Alberto García Robledo, CONACYT-CentroGeo

Resumen

Weaverlet es una biblioteca para Python desarrollada en el Observatorio Metropolitano CentroGeo que permite la construcción de aplicaciones de visualización de datos web interactivas siguiendo el paradigma de programación orientada a componentes del lado del servidor en Python explotando Dash. El desarrollador no requiere escribir JS, HTML ni CSS.

Diseño

La biblioteca está diseñada alrededor del concepto de componente Weaverlet: una clase que encapsula la complejidad del diseño y los callbacks de uno o más componentes Dash que juntos realizan una única función de interfaz de usuario de alto nivel, presentándolos como un único componente de interfaz de usuario autocontenido, componible y reutilizable.

Una aplicación de visualización completa puede ser formada a partir de componentes Weaverlet anidados que juntos forman una jerarquía de componentes. Es posible explotar cualquier componente Dash existente para construir nuevos componentes Weaverlet.

Asimismo, los componentes Weaverlet pueden comunicarse con otros componentes dentro de la jerarquía a través de señales y compartir un contexto para almacenar y comunicar datos.

Características

  • Paradigma orientado a componentes similar a frameworks como React y Angular.
  • Aplicaciones Dash multi-tablero.
  • Autenticación basada en sesiones.
  • Contexto compartido entre componentes Weaverlet.
  • Comunicación vertical y horizontal dentro de la jerarquía de componentes.

Usuarios

  • Científicos de datos que necesitan construir aplicaciones de visualización de datos integradas por múltiples tableros.
  • Desarrolladores de Python familiarizados con Dash que necesiten construir aplicaciones de visualización de datos a través de componentes fácilmente reutilizables por otras aplicaciones.
  • Desarrolladores JavaScript que están familiarizados con el paradigma de programación orientada a componentes seguido por frameworks populares como React y Angular.

Aplicaciones

Dentro del portal del Observatorio, las visualizaciones de tablero Infraestructura de Salud y Población Vulnerable Frente al COVID-19 en MéxicoCasos Confimados, Sospechosos, Negativos y Muertes por COVID-19 en México se encuentran construidas con Weaverlet.