Présentation et démonstration de l'utilisation de papermill lors du meetup Python du 24/06/2025 à Grenoble.
Lien vers la présentation.
Dans ce repo, vous trouverez les fichiers nécéssaires pour tester papermill et refaire la démonstration que j'ai réalisée lors de la présentation du 24 juin.
Dépendances :
Python 3.9
UV comme gestionnaire de paquets
Installez UV, clonez le repo puis installez les dépandances et activez l'environnement virtuel avec :
uv syncC'est parti pour tester papermill 💻
Exécuter le notebook date_print.ipynb pour voir la date affichée Puis ouvrez un terminal et tappez la commande suivante:
papermill -p month 06 date_print.ipynb output.ipynbLe notebook est exécuté en modifiant le mois et un notebook output.html est créé qui contient une cellule supplémentaire appelée "injected_parameters"
Dans le terminal, tappez la commande suivante qui va exécuter le notebook output.ipynb et modifier 2 paramètres
papermill -p month 06 -p year 2026 date_print.ipynb output.ipynbIl est possible de caster le notebook exécuté avec un paramètre modifé directement dans nbconvert qui va exporter le notebook en html. Seul le fichier report_html.html est créé, le notebook modifié n'est pas sauvegardé. Dans le terminal, tappez la commande suivante:
papermill -p year 2030 date_print.ipynb | jupyter-nbconvert --stdin --no-input --to html --output report_htmlInspectez le script papermill_api.py Puis dans le terminal tappez:
python papermill_api.py Le script s'éxécute. Il éxécute le notebook en modifant la date et le notebook modifié est sauvegardé sous le nom date_print_2026.ipynb
Ici le dossier "execute_all_folder " contient plusieurs notebooks. Il est possible de tous les exécuter en exécutant le script execute_all_notebooks.py. Les notebooks originaux seront écrasés.
python execute_all_notebooks.py En éxécutant le script suivant, tous les notebooks contenus dans le dossier "execute_all_folder " sont exécutés en injectant des paramètres et le nom des notebooks modifiés est changé et inclus la date d'exécution.
python execute_all_notebooks_params.pyJ'espère que vous avez pu découvrir et tester la bibliothèque papermill qui peut-être bien utile pour les utilisateurs de notebooks.