Repolode
jpmorganchase

jpmorganchase/nbcelltests

Extensión de JupyterLab y paquete de Python para escribir pruebas unitarias de celdas individuales en notebooks ejecutados de forma lineal, como los que generan informes.

Estrellas
97
Forks
26
Issues abiertos
42
Último commit
hace 6 días

¿Qué es?

nbcelltests permite escribir pruebas para notebooks de Jupyter usados en producción, sobre todo para los que se ejecutan de arriba abajo para generar informes. Puedes añadir mocks y aserciones a cada celda, y la herramienta genera una clase de unittest con un método por celda que incluye las pruebas acumuladas de todas las celdas anteriores, siguiendo la ejecución lineal del notebook.

Las pruebas se guardan en los metadatos de las celdas y se pueden ejecutar sin conexión desde un archivo .ipynb con el CLI de nbcelltests, o desde la interfaz del navegador de JupyterLab, con resultados de pytest-html. El proyecto también incluye comprobaciones de estilo lint, como el máximo de líneas por celda, el número de celdas por notebook, la cantidad de funciones y clases, y el porcentaje de celdas cubiertas por pruebas.

La herramienta está pensada para detectar fallos cuando cambian las versiones de los paquetes o cuando las ediciones exploratorias y no lineales impiden que un notebook genere el informe. Se basa en nbval, que permite comparar resultados para hacer pruebas de regresión.

Funciones clave

  • 01Escribe métodos de unittest por celda, con pruebas acumuladas de las celdas anteriores
  • 02Guarda las definiciones de las pruebas en los metadatos de las celdas del notebook
  • 03Ejecuta pruebas desde la línea de comandos en archivos .ipynb
  • 04Ejecuta las pruebas y muestra los resultados en JupyterLab mediante pytest-html
  • 05Comprueba límites de estructura del notebook, como el número de líneas por celda y el número de celdas por notebook

Casos de uso

  • Hacer pruebas unitarias de notebooks de informes que se ejecutan de arriba abajo con Papermill o herramientas similares
  • Detectar fallos tras actualizar paquetes en un flujo de generación de informes basado en notebooks
  • Aplicar límites sencillos al tamaño del código de los notebooks dentro de un proceso de ciclo de vida del software

Inicio rápido

  1. 1

    Instala el paquete de Python desde PyPI

    pip install nbcelltests
  2. 2

    Genera y ejecuta las pruebas de un notebook de ejemplo

    nbcelltests test examples/Example.ipynb

Antes de usarlo

  • La integración con JupyterLab requiere Node.js y volver a compilar JupyterLab después de la instalación.
  • En JupyterLab, las comprobaciones de lint se ejecutan con la versión de Python que ejecuta Jupyter, por lo que los notebooks de Python 2 pueden mostrar errores de sintaxis falsos.

En colecciones

Temas

Preguntas frecuentes

¿Qué es nbcelltests?
Extensión de JupyterLab y paquete de Python para escribir pruebas unitarias de celdas individuales en notebooks ejecutados de forma lineal, como los que generan informes. nbcelltests permite escribir pruebas para notebooks de Jupyter usados en producción, sobre todo para los que se ejecutan de arriba abajo para generar informes. Puedes añadir mocks y aserciones a cada celda, y la herramienta genera una clase de unittest con un método por celda que incluye las pruebas acumuladas de todas las celdas anteriores, siguiendo la ejecución lineal del notebook.
¿nbcelltests es gratuito? ¿Qué licencia tiene?
nbcelltests es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿nbcelltests sigue mantenido?
Mantenimiento activo. El último commit de nbcelltests fue el 1 nov 2026.
¿Para qué puedo usar nbcelltests?
Hacer pruebas unitarias de notebooks de informes que se ejecutan de arriba abajo con Papermill o herramientas similares Detectar fallos tras actualizar paquetes en un flujo de generación de informes basado en notebooks Aplicar límites sencillos al tamaño del código de los notebooks dentro de un proceso de ciclo de vida del software
¿Cómo se instala nbcelltests?
Instala el paquete de Python desde PyPI: pip install nbcelltests Genera y ejecuta las pruebas de un notebook de ejemplo: nbcelltests test examples/Example.ipynb
¿Dónde consigo nbcelltests?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/jpmorganchase/nbcelltests

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados