Cell-level caching
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 5/5
- Tempo estimado
- Mais de uma semana
- Facilidade para iniciantes
- 25/100
Direção de pesquisa
Comece revisando o caminho de execução de notebooks do ipykernel e a abordagem akernel referenciada, incluindo o uso do módulo ast do Python para comparar as entradas e saídas de células armazenadas em cache. Compare esse design com o modelo de cache do knitr e esclareça como o cache deve atender ao Quarto e ao JupyterBook. Para considerar a tarefa concluída, é necessário um design acordado de cache no nível da célula para o ipykernel, incluindo quando a execução pode ser ignorada e como a validade é estabelecida.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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.
- Linguagem predominante
- Python
- Estrelas
- 734
- Forks
- 411
- Merge médio
- 1d 2h
- PRs com merge (30d)
- 9
Guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de ipython/ipykernel
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 72/100
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 48/100
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 68/100
-
ipython/ipykernel#1550 · 1 comentário · 1 reação · 1 responsável ·
Todas as issues de ipython/ipykernel
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
anthropics/skills#1811 · 1 comentário ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
speaches-ai/speaches#678 ·
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
datalayer/mcp-compose#42 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
conda-forge/spacy-feedstock#177 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
UKGovernmentBEIS/inspect_evals#2523 ·