Saltar al contenido principal

Estructura de un Plugin

Visión General

Si aún no lo hiciste, comienza con ¿Qué es un Plugin? para entender el concepto central.

Esta página detalla cómo se estructuran los plugins, qué archivos y configuraciones son necesarios, y cómo DashAI los descubre y carga.


¿De Qué se Compone un Plugin?

Un plugin es un paquete Python con una estructura estandarizada. Consta de 4 partes principales:

  1. src: Esta carpeta contiene la carpeta con el nombre del plugin o paquete. Esto es importante para una correcta organización y descubrimiento.

    La carpeta con el nombre del plugin o paquete debe contener todos los archivos Python y JSON necesarios para extender el software.

  2. pyproject.toml: Archivo de configuración. Determina cómo se crea el paquete, qué metadatos contiene y qué clases registrar como entry points del plugin.

  3. readme.md: Contiene la descripción extendida del paquete o plugin.

  4. LICENSE: Determina el tipo de licencia que tendrá el paquete.


Estructura de Carpetas Recomendada

dashai-my-plugin
│ LICENSE
│ pyproject.toml
│ readme.md
└───src
└───dashai_my_plugin
│ example_model.py
│ ExampleModel.json

Configuración Requerida

Para que el software integre el plugin al instalarlo, debe cumplir los siguientes requisitos:

1. Entry Points en pyproject.toml

Tu pyproject.toml DEBE contener un entrypoint por cada clase Python que quieras agregar a DashAI:

[project.entry-points.'dashai.plugins']
ExampleModel = 'dashai_my_plugin.example_model:ExampleModel'

Esto le indica a DashAI qué clases registrar y hacer disponibles en la UI.

2. Sección de Keywords

Tu pyproject.toml DEBE incluir una sección keywords. Estas etiquetas se muestran al presentar el plugin en el módulo Plugins de DashAI.

Los únicos tags válidos son:

"DashAI", "Model", "Task", "Dataloaders", "Converter", "Explainer"

Ejemplo de Sección Keywords

[project]
keywords = [
"DashAI",
"Model",
"Dataloaders"
]

Próximos Pasos