matplotlib / matplotlib/ipympl

ipympl does not work in JupyterLite

Ouverte
#334 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Langage dominant
Jupyter Notebook
Étoiles
1.7k
Forks
234
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

Describe the issue

Due to a dependency on tornado https://github.com/matplotlib/matplotlib/blob/c06e8709dde6504d396349c0c80ef019c88c3927/lib/matplotlib/backends/backend_webagg_core.py#L22, ipympl does not work in JupyterLite

We might be able to implement a custom Timer https://github.com/matplotlib/matplotlib/blob/c06e8709dde6504d396349c0c80ef019c88c3927/lib/matplotlib/backends/backend_webagg_core.py#L118 based entirely on asyncio (which works on JupyterLite).

Workaround

As a workaround, one could do

import sys
import types

sys.modules['tornado'] = types.ModuleType('tornadofake')

Disclaimer, I would not be held responsible for anything that would go wrong if you copy this code!

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.

Piste de recherche

Commencez par lib/matplotlib/backends/backend_webagg_core.py de matplotlib, en particulier la dépendance à tornado vers la ligne 22 et le Timer vers la ligne 118. Vérifiez comment ipympl atteint ce backend dans JupyterLite, puis vérifiez que l’intégration fonctionne à cet endroit sans tornado et que les timers interactifs continuent de fonctionner avec le support asyncio disponible.

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

Évaluation

Stack technique
jupyter-notebook, python
Domaine
frontend, web-dev
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
38/100

Recevez les nouvelles issues par e-mail

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