Framework baseado em Nix para criar ambientes JupyterLab declarativos e reproduzíveis, com kernels e extensões configuráveis.
jpmorganchase/nbcelltests
Extensão do JupyterLab e pacote Python para escrever testes unitários para células individuais de notebooks executados em sequência, como notebooks de relatórios.
- Estrelas
- 97
- Forks
- 26
- Issues abertas
- 42
- Último commit
- há 4 dias
O que é?
O nbcelltests permite escrever testes para notebooks Jupyter usados em produção, principalmente os executados de cima para baixo para gerar relatórios. Para cada célula, você pode adicionar mocks e assertions, e a ferramenta gera uma classe unittest com um método por célula, incluindo os testes acumulados de todas as células anteriores e reproduzindo a execução sequencial do notebook.
Os testes ficam armazenados nos metadados das células e podem ser executados offline a partir de um arquivo .ipynb com a CLI do nbcelltests ou pela interface do navegador do JupyterLab, com resultados em pytest-html. O projeto também inclui verificações no estilo de lint, como o número máximo de linhas por célula, de células por notebook e de funções e classes, além do percentual de células cobertas por testes.
A ferramenta ajuda a detectar problemas causados por mudanças nas versões dos pacotes ou por edições exploratórias e não lineares que impeçam o notebook de gerar seu relatório. Ela se baseia no nbval, que faz a comparação de saídas no estilo de testes de regressão.
Recursos principais
- 01Escreve métodos unittest por célula, com testes acumulados das células anteriores
- 02Armazena as definições dos testes nos metadados das células do notebook
- 03Executa testes pela linha de comando em arquivos .ipynb
- 04Executa testes e exibe os resultados no JupyterLab via pytest-html
- 05Verifica limites estruturais do notebook, como linhas por célula e células por notebook
Casos de uso
- Testar unitariamente notebooks de relatórios executados de cima para baixo com Papermill ou ferramentas similares
- Detectar problemas após atualizações de pacotes em um pipeline de geração de relatórios baseado em notebooks
- Aplicar limites simples ao tamanho do código em notebooks durante o ciclo de vida do software
Início rápido
- 1
Instale o pacote Python pelo PyPI
pip install nbcelltests - 2
Gere e execute os testes de um notebook de exemplo
nbcelltests test examples/Example.ipynb
Antes de usar
- A integração com o JupyterLab requer Node.js e uma nova compilação do JupyterLab após a instalação.
- No JupyterLab, as verificações de lint são executadas com a versão do Python que executa o Jupyter; por isso, notebooks Python 2 podem exibir erros de sintaxe falsos.
Em coleções
Tópicos
Perguntas frequentes
- O que é nbcelltests?
- Extensão do JupyterLab e pacote Python para escrever testes unitários para células individuais de notebooks executados em sequência, como notebooks de relatórios. O nbcelltests permite escrever testes para notebooks Jupyter usados em produção, principalmente os executados de cima para baixo para gerar relatórios. Para cada célula, você pode adicionar mocks e assertions, e a ferramenta gera uma classe unittest com um método por célula, incluindo os testes acumulados de todas as células anteriores e reproduzindo a execução sequencial do notebook.
- nbcelltests é gratuito? Qual é a licença?
- nbcelltests é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
- nbcelltests ainda é mantido?
- Manutenção ativa. O último commit de nbcelltests foi em 1 de nov. de 2026.
- Para que posso usar nbcelltests?
- Testar unitariamente notebooks de relatórios executados de cima para baixo com Papermill ou ferramentas similares Detectar problemas após atualizações de pacotes em um pipeline de geração de relatórios baseado em notebooks Aplicar limites simples ao tamanho do código em notebooks durante o ciclo de vida do software
- Como instalar nbcelltests?
- Instale o pacote Python pelo PyPI: pip install nbcelltests Gere e execute os testes de um notebook de exemplo: nbcelltests test examples/Example.ipynb
- Onde consigo nbcelltests?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/jpmorganchase/nbcelltests
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Armazena notebooks Jupyter como Markdown puro ou scripts Python, Julia e R, facilitando a comparação de diferenças e o versionamento no Git.
Imagens Docker prontas para uso que incluem JupyterLab, Jupyter Notebook e ferramentas comuns de Python científico, para uso pessoal ou em equipe.
Uma extensão do JupyterLab que adiciona vários navegadores de arquivos conectados a armazenamentos locais e remotos, como S3 e compartilhamentos Samba.
Uma extensão do JupyterLab que adiciona um painel do Git para preparar, fazer commits, gerenciar branches e sincronizar repositórios sem sair dos notebooks.
Extensão do JupyterLab que abre sites ou arquivos HTML locais em um widget iframe e permite adicionar atalhos ao launcher.