Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork7.9k
Description
Currently, Matplotlib maintains some code to support some extremely old versions of IPython (supposedly down to 1.x) even though it is quite possible that such versions don't even work with Py3.6+. There are also some tricky points wrt backend switching which were fixed a while ago in ipython (ipython/ipython#9287) but for which we still maintain backcompat for older versions. (Backend switching is the motivation for this proposal.)
Even though IPython is not a "dependency" of Matplotlib, there's obviously some rather tight coupling due to event loop integration, so I would suggest applying NEP29 (or rather our version of it,https://matplotlib.org/devdocs/devel/min_dep_policy.html#python-dependencies): "we should support at least (...) minor versions initially released in the 12 months prior to our planed release date or the oldest that supports our minimum python" (as there is no compiled code in IPython) -- right now this would mean ipython 7.3.0. I'm not asking that we be super strict (we could e.g. also treat ipython like numpy, which means 24 months -- so IPython 6.3.0, right now), but unlimited support seems a bit too much.
Assuming we agree on this, we also need to decide what to do if Matplotlib detects that it is running in an too-old-IPython: error out? print a warning?