Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork8.1k
Webagg backend: get rid of tornado#20591
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Uh oh!
There was an error while loading.Please reload this page.
Conversation
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
tacaswell commentedJul 8, 2021 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
This seems like a major API change? We either need replacements/backcompat shims or a very clear API change note for the classes that no longer exist. Does this put a floor on our tornado support to versions that know howto play nice with asyncio? |
martinRenou commentedJul 9, 2021 • edited
Loading Uh oh!
There was an error while loading.Please reload this page.
edited
Uh oh!
There was an error while loading.Please reload this page.
I guess we could keep the timertornado class around? And do a lazy import of tornado if one uses it. This way the PR would just be about adding a new timer class that doesn't need tornado, and that ipympl could use. |
anntzer commentedJul 9, 2021
I don't know enough about the ecosystem (whether the jupyter side or the async side :-)) to have an answer here, but do you think anyone is actually relying on the tornado timer? Could it be reasonably deprecated? Or perhaps more mildly, moved to backend_webagg, and make backend_webagg_core a "you need to provide your own timer" abstract backend? |
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
martinRenou commentedJul 9, 2021
Given the comments and concerns about backward compatibility, I've put back the Having the |
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
stonebig commentedSep 11, 2021
is there still hope on this for 3.5.0 ? |
tacaswell commentedSep 11, 2021
@stonebig It looks like there are still a few back-compatibility changes that need to be addressed. We have not "feature frozen" for 3.5 yet, can you give me a sense of how important / impactful getting this in would be? |
stonebig commentedSep 12, 2021
For a windows user, Tornado is non-performant. So my interest to push this, as I believe it will have positive effects for python on web and python on windows. Nothing more. |
tacaswell commentedOct 20, 2021
This PR is affected by a re-writing of our history to remove a large number of accidentally committed filessee discourse for details. To recover this PR it will need be rebased onto the new default branch (main). There are several ways to accomplish this, but we recommend (assuming that you call the matplotlib/matplotlib remote git remote updategit checkout maingit merge --ff-only upstream/maingit checkout YOUR_BRANCHgit rebase --onto=main upstream/old_master# git rebase -i main # if you prefergit push --force-with-lease# assuming you are tracking your branch If you do not feel comfortable doing this or need any help please reach out to any of the Matplotlib developers. We can either help you with the process or do it for you. Thank you for your contributions to Matplotlib and sorry for the inconvenience. |
This allows using the webagg backend in JupyterLite, by replacingtornado with asyncio
Co-authored-by: David Brochart <david.brochart@gmail.com>
tornado 5 is from ~2018 hence is consistent with our support window policy.
…591-on-v3.5.xBackport PR#20591 on branch v3.5.x (Webagg backend: get rid of tornado)
ArchangeGabriel commentedNov 16, 2021
I’m packaging matplotlib for ArchLinux and I have some questions regarding this changes:
|
martinRenou commentedNov 16, 2021
It is still needed, because the webagg backend provides a But in the long term the dependency might be removed? Please someone correct me if I am wrong. |
tacaswell commentedNov 17, 2021
The important change here is that However matplotlib/lib/matplotlib/backends/backend_webagg.py Lines 54 to 57 in49609c3
We may want to rename this as |
Uh oh!
There was an error while loading.Please reload this page.
PR Summary
This allows using the webagg backend in JupyterLite, by replacing tornado with asyncio. Seematplotlib/ipympl#334 andhttps://github.com/jtpio/jupyterlite/pull/219
cc.@davidbrochart
PR Checklist
pytestpasses).flake8on changed files to check).flake8-docstringsand runflake8 --docstring-convention=all).doc/users/next_whats_new/(follow instructions in README.rst there).doc/api/next_api_changes/(follow instructions in README.rst there).