Repolode
nteract

nteract/papermill

Ferramenta Python que parametriza, executa e analisa notebooks Jupyter pela linha de comando ou por uma API Python.

Estrelas
6,498
Forks
465
Issues abertas
198
Último commit
mês passado

O que é?

O Papermill executa notebooks Jupyter com parâmetros definidos no momento da execução. Marque uma célula com `parameters` para definir valores padrão, e o Papermill insere uma nova célula com os valores informados. Assim, o mesmo notebook pode gerar resultados diferentes para entradas diferentes, como um relatório mensal executado com datas distintas.

Os notebooks podem ser executados pela API Python com `execute_notebook` ou pela linha de comando `papermill`, que oferece opções para passar parâmetros como strings, valores tipados, arquivos YAML ou YAML codificado em base64. Os caminhos de entrada e saída podem apontar para arquivos locais, URLs HTTP(S), AWS S3, Azure Data Lake ou Blob Storage, ou Google Cloud Storage.

Como a execução pode ser automatizada por scripts, o papermill se encaixa em pipelines de dados nos quais os resultados de um notebook determinam qual notebook será executado em seguida. Extras opcionais, como `s3` ou `azure`, instalam as dependências de armazenamento, e o extra `black` formata os parâmetros inseridos.

Recursos principais

  • 01Insere parâmetros em uma célula marcada para que um notebook possa ser executado com entradas diferentes.
  • 02Executa notebooks pela API Python ou pela linha de comando `papermill`.
  • 03Aceita parâmetros como valores tipados, strings sem formatação, arquivos YAML ou strings YAML.
  • 04Lê e grava notebooks em disco local, HTTP(S), S3, Azure e Google Cloud Storage.
  • 05Oferece formatação opcional dos parâmetros inseridos com Black.

Casos de uso

  • Executar o mesmo relatório financeiro ou analítico com datas ou configurações diferentes.
  • Encadear notebooks em um pipeline de dados no qual a saída de um determina a próxima etapa.
  • Executar notebooks em lote, armazenados em storage de objetos na nuvem, como parte de tarefas agendadas.

Início rápido

  1. 1

    Instale o papermill pelo PyPI

    pip install papermill
  2. 2

    Adicione a tag 'parameters' a uma célula do notebook e execute-o com um parâmetro pela CLI

    papermill local/input.ipynb local/output.ipynb -p alpha 0.6 -p l1_ratio 0.1

Antes de usar

  • Compatível apenas com Python 3.10 ou superior.

Tópicos

#jupyter#notebook#data-pipeline#parameters#python#automation#julia#notebook-generator#notebooks#nteract

Perguntas frequentes

O que é papermill?
Ferramenta Python que parametriza, executa e analisa notebooks Jupyter pela linha de comando ou por uma API Python. O Papermill executa notebooks Jupyter com parâmetros definidos no momento da execução. Marque uma célula com `parameters` para definir valores padrão, e o Papermill insere uma nova célula com os valores informados. Assim, o mesmo notebook pode gerar resultados diferentes para entradas diferentes, como um relatório mensal executado com datas distintas.
papermill é gratuito? Qual é a licença?
papermill é open source sob a licença BSD-3-Clause. Confira os termos da licença antes de usá-lo em produtos comerciais.
papermill ainda é mantido?
Atualizado nos últimos 6 meses. O último commit de papermill foi em 5 de out. de 2026.
Para que posso usar papermill?
Executar o mesmo relatório financeiro ou analítico com datas ou configurações diferentes. Encadear notebooks em um pipeline de dados no qual a saída de um determina a próxima etapa. Executar notebooks em lote, armazenados em storage de objetos na nuvem, como parte de tarefas agendadas.
Como instalar papermill?
Instale o papermill pelo PyPI: pip install papermill Adicione a tag 'parameters' a uma célula do notebook e execute-o com um parâmetro pela CLI: papermill local/input.ipynb local/output.ipynb -p alpha 0.6 -p l1_ratio 0.1
Onde consigo papermill?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/nteract/papermill

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados