Notebooks interactivos

Documentos(.ipynb) que combinan código ejecutable, texto formateado y visualizaciones

Interfaz visual para la creación y eliminación de bloques


🔍Bloques de código ejecutable 🔍Bloques markdown 🔍Visualizaciones 🔍Ordenamiento de bloques

Problemas con plataformas comerciales

PrivacidadDatos de estudiantes en servidores externos
Límites de recursosTiempo de ejecución restringido, GPU condicionada
Dependencia de internetSin conexión, sin trabajo
Personalización nulaNo se pueden preinstalar bibliotecas
Riesgo institucionalCambios de políticas, descontinuación de servicios
CostoEscalabilidad incierta, modelos de pago

Pérdida de soberanía tecnológica

Más que solo Python

Python - R - Julia - MATLAB - Octave - SAS - Scala Fortran - Java - Go - C++ - Ruby - Bash - Rust - C# Haskell - .NET - OCaml - Erlang - Elixir - Lisp - Prolog JavaScript - TypeScript - Kotlin - SwiftBD - HiveQL SQL(varios dialectos) - MongoDB - APL - J - Q - Coq GAP - Smalltalk - Racket

Y muchos más...

Ecosistema Jupyter

Usos comunes

Enseñanza de programación - Ciencia de datos - Investigación reproducible - Documentación técnica

Entornos de trabajoJupyter Notebook - JupyterLab
Despliegue y colaboraciónJupyterHub - Binder - JupyterLite
DocumentaciónJupyterBook - Voilá

JupyterLab

  • 🔍Entorno de trabajo tipo IDE
  • Multi-archivo
  • Multi-lenguaje
  • Editor de texto avanzado
  • Ecosistema de extensiones
  • Listo para la nube
  • Uso de kernels remotos

Instalación de JupyterLab

# Instalación
pip3 install jupyterlab

# Verificar instalación
jupyter lab --version

# Iniciar
jupyter lab
					

JupyterLite

  • Interfaz de JupyterLab
  • No requiere instalar python
  • WebAssembly (WASM) y Pyodide
  • El código y los datos permanecen en el navegador
  • Se puede alojar en un servidor web estático
  • Persistencia local
  • Experimental

JupyterLite

Arquitectura JupyterLite

JupyterHub

  • Servidor multi-usuario de Jupyter
  • Autenticación flexible
  • Entornos aislados
  • Acceso remoto
  • Gestión de recursos
  • Integración con Moodle
  • Pocos lenguajes

JupyterHub

Arquitectura JupyterLite

Despliegue de JupyterHub en openSUSE

# Instalación en openSUSE Leap
sudo zypper install docker docker-compose
sudo systemctl enable docker
sudo systemctl start docker

# Clonar JupyterHub
git clone https://github.com/jupyterhub/jupyterhub-deploy-docker
cd jupyterhub-deploy-docker

# Configurar autenticación local (pruebas)
# o configurar LTI para integración con Moodle

# Iniciar servicio
docker-compose up -d

Exportación de Notebooks

🔍HTML 🔍Markdown (Documentación) 🔍Script
# Exportación a script
jupyter nbconvert --to script Gráfico\ de\ linea.ipynb
					
  • PDF (Instalando TeX o Chromium)
  • LaTeX
  • Ascii
  • reStructuredText
  • Reveal.js

Usos académicos


  • Ecuaciones LaTeX (Nativo)
  • Bibliografía con BibTeX (Jupyter Book)
  • Extensiones avanzadas (Teoremas - Pruebas - Referencias cruzadas)
  • Exportación académica

Ventajas del ecosistema Jupyter

  • Alta Flexibilidad
  • Licencia libre BSD 3-Clause
  • Soberanía Digital
  • Costo nulo o predecible


¡Gracias!