📘 Guía para publicar un Notebook de Google Colab en la web

¿Qué es un notebook de Google Colab?

Un notebook (o cuaderno) es un documento interactivo que combina texto explicativo, código ejecutable, gráficos y resultados.
Google Colab (Colaboratory) es un servicio gratuito en la nube que te permite crear y ejecutar estos notebooks sin instalar nada en tu computadora. Es muy usado en ciencia de datos y educación.

A veces queremos compartir nuestro trabajo con otras personas: compañeros de clase, profesores, o el público en general. Dependiendo de lo que necesitemos, hay diferentes formas de hacerlo.


📌 Método 1: Compartir directamente desde Google Colab (el más fácil)

Este método te da un enlace de solo lectura para que cualquiera pueda ver tu notebook (código, gráficos, resultados) sin necesidad de cuenta de Google. Es ideal para entregas rápidas o colaboración sencilla.

Explicación de términos técnicos

  • Enlace de solo lectura: Un enlace que permite ver el documento pero no modificarlo.
  • Permisos: Configuración que controla quién puede acceder y qué puede hacer (ver, comentar, editar).

Pasos a seguir

  1. Abre tu notebook en Google Colab.
  2. Haz clic en el botón Compartir (arriba a la derecha, con forma de persona con un signo +).
  3. En la ventana que aparece, ve a la sección Acceso general.
  4. Cambia de Restringido a Cualquier persona con el enlace.
  5. En el menú desplegable de al lado, elige Lector (para que solo puedan ver, no modificar).
  6. Copia el enlace y compártelo.

Ventajas:
- No requiere instalar nada.
- El notebook conserva su interactividad (se puede ejecutar el código si el receptor hace una copia).
- Los cambios que hagas se reflejan automáticamente (si vuelves a compartir el mismo enlace).

⚠️ Desventajas:
- Quien recibe el enlace ve el notebook tal cual, pero no puede ejecutar el código a menos que haga una copia en su Drive.
- Si necesitas una versión permanente (que no cambie con tus futuras ediciones), no es lo ideal.


🐙 Método 2: Publicar en GitHub (ideal para portafolios y código fuente)

GitHub es una plataforma para alojar proyectos usando el sistema de control de versiones Git. Es el estándar en la industria para compartir código. Publicar tu notebook aquí permite que otros lo vean, lo descarguen y lo ejecuten fácilmente.

Explicación de términos técnicos

  • Repositorio: Un proyecto en GitHub, donde se guardan todos los archivos y su historial de cambios.
  • Control de versiones: Sistema que registra los cambios en los archivos a lo largo del tiempo, permitiendo volver a versiones anteriores.
  • .ipynb: Extensión de los archivos de notebook (IPython Notebook). Colab guarda los notebooks con esta extensión.

Opción A: Guardar directamente desde Colab a GitHub (requiere vincular tu cuenta)

  1. En tu notebook de Colab, ve a Archivo > Guardar una copia en GitHub.
  2. Si es la primera vez, tendrás que autorizar a Colab para acceder a tu cuenta de GitHub.
  3. Selecciona el repositorio donde quieres guardarlo (puedes crear uno nuevo si es necesario).
  4. Elige una rama (normalmente main o master) y pon un mensaje de commit (por ejemplo, “Primera versión del notebook”).
  5. Haz clic en Aceptar. Tu notebook se subirá a GitHub.

Opción B: Subir manualmente desde tu computadora

  1. En Colab, descarga el notebook: Archivo > Descargar > Descargar .ipynb.
  2. Ve a GitHub, inicia sesión y crea un nuevo repositorio o abre uno existente.
  3. Haz clic en Add file > Upload files y selecciona el archivo .ipynb descargado.
  4. Escribe un mensaje de confirmación y haz clic en Commit changes.

Cómo ver el notebook en GitHub y abrirlo en Colab

  • En GitHub, el notebook se mostrará de forma estática (no se puede ejecutar).

  • Para permitir que otros lo ejecuten, pueden abrirlo directamente en Colab usando esta URL:

    https://colab.research.google.com/github/tu_usuario/tu_repositorio/blob/main/tu_notebook.ipynb

    (Cambia tu_usuario, tu_repositorio y la ruta según corresponda).

  • También existe nbviewer (https://nbviewer.org/), que renderiza notebooks de GitHub de forma más limpia, pero sigue siendo estático.

Ventajas:
- El código queda público y versionado.
- Cualquiera puede ejecutar tu notebook haciendo una copia en Colab.
- Es ideal para mostrar tu trabajo en un portafolio o en trabajos colaborativos.

⚠️ Desventajas:
- Quien no esté familiarizado con GitHub puede sentirse abrumado.
- No es tan directo como un simple enlace de solo lectura.


🌐 Método 3: Convertir a HTML y alojar en la nube (para informes profesionales)

Este método genera una página web estática con todo el contenido de tu notebook: texto, código, gráficos y resultados. Es perfecto para compartir informes con personas que solo necesitan ver los resultados, sin preocuparse por el código. La página se ve igual que el notebook, pero no se puede ejecutar el código (es como una foto de tu trabajo).

Explicación de términos técnicos

  • HTML: Lenguaje de marcado para crear páginas web. Cualquier navegador puede mostrar un archivo HTML.
  • nbconvert: Herramienta de Jupyter que convierte notebooks a otros formatos (HTML, PDF, etc.).
  • Alojamiento estático: Servicio que guarda archivos (como HTML, imágenes) y los sirve a los visitantes. No ejecuta programas en el servidor.
  • Google Cloud Storage: Servicio de Google para guardar archivos en la nube. Podemos usarlo para alojar nuestro HTML y hacerlo público.
  • Bucket: Un “cubo” o contenedor donde se guardan los archivos en Cloud Storage.
  • Sitio web estático: Configuración de un bucket para que sirva archivos como si fuera una página web.

Paso 1: Convertir el notebook a HTML desde el propio Colab

  1. Asegúrate de que tu notebook esté guardado en Google Drive. En Colab, puedes montar tu Drive con:

    from google.colab import drive
    drive.mount('/content/drive')
  2. Ejecuta el siguiente comando en una celda de código. Cambia la ruta a la ubicación exacta de tu archivo .ipynb dentro de Drive.

    !jupyter nbconvert --to html "/content/drive/MyDrive/Colab Notebooks/tu_notebook.ipynb"
    • ! indica que es un comando del sistema (no Python).
    • jupyter nbconvert es la herramienta de conversión.
    • --to html especifica el formato de salida.
    • La ruta entre comillas es la ubicación de tu notebook.
  3. Al terminar, verás un mensaje como [NbConvertApp] Writing 123456 bytes to tu_notebook.html. El archivo HTML se habrá creado en la misma carpeta donde estaba el notebook.

  4. Puedes descargarlo a tu computadora: en el panel de archivos de Colab (ícono de carpeta a la izquierda), navega hasta la carpeta, haz clic derecho en el archivo .html y selecciona Descargar.

Paso 2: Alojar el HTML en Google Cloud Storage (u otra plataforma gratuita)

Opción recomendada: Google Cloud Storage

Requisitos: Tener una cuenta de Google (la misma de Gmail/Drive) y activar Google Cloud Platform (te piden tarjeta de crédito, pero no te cobran si usas solo la capa gratuita; puedes crear un bucket sin costo).

  1. Ve a Google Cloud Console.
  2. Crea un proyecto nuevo o selecciona uno existente.
  3. En el menú de navegación, ve a Storage > Navegador.
  4. Haz clic en Crear bucket.
    • Ponle un nombre único (ej. mis-notebooks-publicos).
    • Elige una región (puede ser la más cercana).
    • En Control de acceso, selecciona Uniforme (recomendado).
    • En Protección de datos, puedes dejarlo por defecto.
    • Haz clic en Crear.
  5. Una vez creado el bucket, haz clic en Subir archivos y selecciona tu archivo HTML.
  6. Para que sea público, debemos cambiar los permisos:
    • Ve a la pestaña Permisos del bucket.
    • En Entidades, haz clic en Agregar entrada.
    • En Nuevos miembros, escribe allUsers (esto significa “todos los usuarios de Internet”).
    • En Rol, elige Lector de objetos de Storage.
    • Guarda. Aparecerá una advertencia; confirma que deseas hacer público el bucket.
  7. Ahora, en la lista de archivos, busca tu archivo HTML. Verás tres puntos a la derecha; haz clic y selecciona Copiar URL.
  8. Esa URL es la dirección pública de tu página. Al abrirla en un navegador, se mostrará tu notebook convertido en página web.

Importante: Por defecto, los archivos HTML en Cloud Storage se descargan en lugar de mostrarse en el navegador. Para que se muestren como página web, debemos configurar el bucket como sitio web estático:

  • En la página del bucket, ve a la pestaña Sitios web (o Website configuration).
  • Activa la opción Habilitar sitio web estático.
  • En Índice (página principal) puedes poner index.html (aunque nuestro archivo tenga otro nombre, si quieres usar un nombre fijo puedes renombrarlo a index.html).
  • Guarda los cambios. Ahora, si accedes a la URL del bucket (p.ej. https://storage.googleapis.com/mi-bucket/index.html), el archivo se mostrará correctamente.

Alternativa más sencilla: GitHub Pages

Si ya tienes el archivo HTML, también puedes publicarlo usando GitHub Pages:

  1. Crea un repositorio en GitHub (público).
  2. Sube tu archivo HTML (puedes llamarlo index.html para que sea la página principal).
  3. Ve a Settings > Pages.
  4. En Source, selecciona la rama main y la carpeta /root. Guarda.
  5. GitHub te dará una URL como https://tuusuario.github.io/nombre-repo/. Allí se mostrará tu página.

Ventajas de GitHub Pages: gratuito, sin necesidad de configurar permisos complejos, y muy usado.

Otra alternativa: Netlify

Netlify es otro servicio gratuito para alojar sitios estáticos. Solo arrastras tu carpeta o archivo HTML a su interfaz y obtienes un enlace. Es extremadamente fácil.


📊 Comparación de los tres métodos

Método Tipo de salida Interactividad del código Audiencia ideal Facilidad
Compartir en Colab Enlace a notebook original Sí (pueden hacer copia) Compañeros, profesores (entrega rápida) ⭐⭐⭐
Publicar en GitHub Repositorio con código fuente Sí (abriendo en Colab) Comunidad técnica, portafolios ⭐⭐
Convertir a HTML + alojar Página web estática No Clientes, público general, informes ⭐⭐ (requiere pasos extra)

🧠 Consejos adicionales para estudiantes

Si usas gráficos interactivos (Plotly, Bokeh)

Cuando conviertes a HTML, los gráficos interactivos (como los de Plotly) se mantienen interactivos en la página web. ¡Perfecto para informes dinámicos!

Cómo embeber enlaces o multimedia

En el notebook puedes incluir enlaces a otros recursos. Al convertirlos a HTML, esos enlaces seguirán funcionando.

Mantén una copia de seguridad

Siempre guarda tu notebook original en Google Drive o GitHub. Los archivos HTML son solo una instantánea; si actualizas el notebook, tendrás que generar un nuevo HTML.

Para trabajos de Estadística Aplicada o Diseño Experimental

Si tu notebook contiene análisis estadísticos con Python (pandas, statsmodels, etc.) o incluso con R (usando rpy2), puedes mostrarlos en el notebook. Luego, al convertirlo a HTML, obtienes un informe reproducible y profesional.


🎯 Conclusión

Elige el método según tu objetivo:

  • ¿Quieres compartir con compañeros para que prueben tu código? → Compartir en Colab (Método 1).
  • ¿Necesitas mostrar tu trabajo en un portafolio o proyecto colaborativo? → GitHub (Método 2).
  • ¿Debes presentar resultados a un cliente o profesor sin que vean el código? → HTML + alojamiento en la nube (Método 3).

Cada método es válido y aprender a usarlos te dará herramientas valiosas para tu desarrollo profesional. ¡Manos a la obra! 🚀