Hub documentation

Dash en Spaces

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Dash en Spaces

Con Dash Open Source, puedes crear aplicaciones de datos en tu portátil en Python puro, sin necesidad de JavaScript.

Familiarícese con Dash creando una aplicación de ejemplo con código abierto. Escala con Dash Enterprise cuando su aplicación de Dash esté lista para su uso en todo el departamento o la empresa. O bien, inicie su proyecto con Dash Enterprise desde el principio para aprovechar las ganancias en productividad del desarrollador y la aceleración práctica del equipo de Plotly.

Desplegar Dash en Spaces

Para comenzar con Dash en Spaces, haz clic en el botón siguiente:

Esto iniciará la construcción de tu Space utilizando la plantilla Docker de Dash de Plotly. Si tiene éxito, deberías ver una aplicación similar a la aplicación de la plantilla Dash.

Personalizar tu aplicación de Dash

Si nunca has construido con Dash antes, te recomendamos empezar con nuestro tutorial de Dash en 20 minutos.

Cuando creas un Dash Space, obtienes algunos archivos clave para ayudarte a empezar:

1. app.py

Este es el archivo principal de la aplicación que define la lógica central de tu proyecto. Las aplicaciones de Dash suelen estructurarse como módulos, y puedes separar opcionalmente tu layout, callbacks y datos en otros archivos, como layout.py, etc.

Dentro de app.py verás:

  1. from dash import Dash, html Importamos el objeto Dash para definir nuestra aplicación y la biblioteca html, que nos proporciona los bloques de construcción para ensamblar nuestro proyecto.

  2. app = Dash() Aquí definimos nuestra aplicación. El layout, el servidor y los callbacks están vinculados al objeto app.

  3. server = app.server Aquí definimos nuestra variable de servidor, que se utiliza para ejecutar la aplicación en producción.

  4. app.layout = El diseño de la aplicación inicial se define como una lista de componentes de Dash, un componente de Dash individual o una función que devuelve cualquiera de los dos.

    El app.layout es tu diseño inicial, que se actualizará como una aplicación de página única mediante callbacks y otra lógica de tu proyecto.

  5. if __name__ == '__main__': app.run(debug=True) Si estás ejecutando tu proyecto localmente con python app.py, app.run(...) se ejecutará y iniciará un servidor de desarrollo para trabajar en tu proyecto, con funciones que incluyen recarga en caliente, el grafo de callbacks y más.

    En producción, recomendamos gunicorn, que es un servidor de grado de producción. Las funciones de depuración no se habilitarán al ejecutar su proyecto con gunicorn, por lo que esta línea nunca se alcanzará.

2. Dockerfile

El Dockerfile para una aplicación de Dash es mínimo, ya que Dash tiene pocas dependencias del sistema. Los requisitos clave son:

  • Instala las dependencias enumeradas en requirements.txt (usando uv)
  • Crea un usuario no root por seguridad
  • Ejecuta la aplicación con gunicorn usando gunicorn app:server --workers 4

Es posible que necesites modificar este archivo si tu aplicación requiere dependencias del sistema adicionales, permisos u otras banderas de CLI.

3. requirements.txt

El Space instalará automáticamente las dependencias listadas en el archivo requirements.txt. Como mínimo, debes incluir dash y gunicorn en este archivo. Deberás añadir cualquier otro paquete que tu aplicación necesite.

La plantilla Dash Space proporciona una configuración básica que puedes ampliar según tus necesidades.

Recursos y soporte adicionales

Solución de problemas

Si encuentras problemas:

  1. Asegúrate de que tu notebook se ejecute localmente en modo de aplicación usando python app.py
  2. Comprueba que todos los paquetes necesarios están listados en requirements.txt
  3. Verifique que la configuración del puerto coincida (7860 es el predeterminado para Spaces)
  4. Comprueba los registros de Space para ver si hay errores de Python

Para obtener más ayuda, visita los Plotly Community Forums o abre un issue.

Update on GitHub