Framework basado en Nix para crear entornos declarativos y reproducibles de JupyterLab con kernels y extensiones configurables.
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
Instala el paquete de Python desde PyPI
pip install nbcelltests - 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
Guarda notebooks de Jupyter como archivos Markdown o scripts de Python, Julia y R para compararlos y versionarlos fácilmente en Git.
Imágenes Docker listas para usar que incluyen JupyterLab, Jupyter Notebook y herramientas habituales de Python científico, para uso personal o en equipo.
Una extensión de JupyterLab que añade varios exploradores de archivos conectados a almacenamiento local y remoto, como S3 y recursos compartidos de Samba.
Extensión de JupyterLab que añade un panel de Git para preparar y confirmar cambios, gestionar ramas y sincronizar repositorios desde los notebooks.
Una extensión de JupyterLab que abre sitios web o archivos HTML locales en un widget iframe y permite añadir accesos directos al lanzador.