Desarrollar un Plugin
Requisitos Previos
Antes de desarrollar un plugin, asegúrate de entender:
- ¿Qué es un Plugin? — Visión general de los conceptos y capacidades de los plugins
- Estructura de un Plugin — Cómo se organizan los plugins y qué requiere DashAI
Configura tu Entorno de Desarrollo
Para crear un plugin, necesitas acceso a las clases Python de DashAI. Hay dos enfoques:
Opción 1: DashAI como Biblioteca Instalada
Instala DashAI como paquete en tu entorno virtual de Python:
pip install dashai
Nota: Este enfoque es más sencillo pero limita tu capacidad de probar el plugin interactivamente dentro de DashAI.
Opción 2: Clonar el Repositorio (Recomendado)
Clona el repositorio de DashAI para obtener capacidades completas de desarrollo y prueba:
git clone https://github.com/DashAISoftware/DashAI.git
cd DashAI
Crea una carpeta plugins en la raíz del repositorio para el desarrollo de tu plugin:
DashAI/
├── DashAI/
├── plugins/ ← Crea esta carpeta
├── tests/
├── ...
Este enfoque te permite probar tu plugin en tiempo real mientras lo desarrollas.
Paso 1: Identifica Qué Quieres Construir
Los plugins pueden extender DashAI con:
- Modelos de Machine Learning (
TabularClassificationModel,RegressionModel,TextGenerationModel, etc.) - Data Loaders (soporte para formatos de dataset adicionales)
- Data Converters (preprocesamiento, ingeniería de características, transformaciones)
- Explorers (herramientas de visualización y análisis de datos)
- Explainers (herramientas de interpretabilidad de modelos)
- Tareas Personalizadas (nuevos tipos de problemas de ML)
- Métricas Personalizadas (métricas de evaluación)
Para garantizar la compatibilidad, las clases de tu plugin deben extender la clase base apropiada de DashAI:
# Ejemplo: Crear un modelo de clasificación tabular
from DashAI.back.models.tabular_classification_model import TabularClassificationModel
class MyCustomModel(TabularClassificationModel):
def train(self, X, y):
# Tu lógica de entrenamiento
pass
Paso 2: Implementa tu Plugin
- Crea la carpeta del plugin dentro del directorio
plugins(si usas la Opción 2) - Escribe tus clases Python extendiendo las clases base apropiadas de DashAI
- Crea los archivos de configuración JSON necesarios
- Agrega el
pyproject.tomlcon los entry points correctos (ver Estructura de un Plugin) - Escribe un README describiendo tu plugin
Recomendaciones
Revisa Plugins Existentes
Estudia ejemplos funcionales para entender las mejores prácticas:
- Ejemplo real:
dashai-phi-model-packageagrega los modelos Microsoft Phi - Plugins de la comunidad: pypi.org/search/?q=dashai
Prueba tu Plugin Durante el Desarrollo
- Crea los archivos Python y JSON localmente (Opción 2: clonar el repositorio)
- Colócalos en la carpeta
/plugins - Inicia DashAI y verifica que tus componentes aparecen y funcionan correctamente
- Itera hasta estar seguro de la implementación
Verifica Conflictos de Dependencias
Después de instalar nuevas dependencias, verifica que no existan conflictos:
pip check
Sin conflictos:
No broken requirements found.
Con conflictos:
fastapi 0.106.0 has requirement starlette<0.28.0,>=0.27.0, but you have starlette 0.20.0.
Resuelve cualquier conflicto antes de publicar tu plugin.
Es importante que al instalar una nueva librería para un plugin o paquete, esta sea incluida entre las dependencias del plugin o paquete.
-
Usa prints en el flujo de los componentes agregados
Incluir prints en el flujo del componente que creaste puede ser muy útil para verificar el correcto funcionamiento del componente en el software.