Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Cell-level caching

Ouverte
#992 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
5/5
Temps estimé
Plus d'une semaine
Accessibilité débutants
25/100
Type d'issue
Fonctionnalité
Clarté
À clarifier
Activité
À l'abandon
Stack technique
jupyter, jupyter-notebook, python
Domaine
backend

Piste de recherche

Commencez par examiner le chemin d’exécution des notebooks de ipykernel et l’approche akernel mentionnée, notamment son utilisation du module ast de Python pour comparer les entrées et sorties de cellules mises en cache. Comparez cette conception au modèle de mise en cache de knitr et précisez comment la mise en cache doit servir Quarto et JupyterBook. La clôture de la tâche nécessite une conception de mise en cache au niveau des cellules pour ipykernel faisant l’objet d’un accord, notamment quand l’exécution peut être ignorée et comment la validité est établie.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

Often we want to visualize the content of the notebook for example as an HTML and also recompute it to check its validity. This ensures that the notebook is runnable and also shows the desired output. However, running a notebook is very time-consuming. It would be great if we had some cell-level cache that would speed up repeated executing of the notebook.

@davidbrochart in his project akernel (asynchronous kernel) solved a similar issue. He approached it by parsing inputs and outputs of the cached cell using ast module. He could then skip the execution of the particular time-consuming cell, if the outputs were cached and the inputs hasn't changed from the previous execution. I hope I didn't misinterpret it. @davidbrochart please comment on any of my mistake.
An inspiration could also be taken from knitr from R, who has this implementation available.

Could we get something like this for ipykernel? Many popular projects would benefit from this improvement, such as Quarto or JupyterBook.

Langage dominant
Python
Étoiles
734
Forks
411
Merge moyen
1 j 2 h
PR mergées (30 j)
9

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de ipython/ipykernel

Toutes les issues de ipython/ipykernel

Issues similaires

Plus d'issues Python

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.