-
-
Notifications
You must be signed in to change notification settings - Fork 7.9k
All included backends should work or be removed #1961
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 our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Backends are an interesting beast. While we have done a fantastic job of I would probably suggest deprecating Qt3Agg at the next release. There As for the emf format, it is an odd duck, but for those who do still have |
From the present backend_qt.py:
@WeatherGod, you put that in 7 months ago, so I think we should go ahead and remove backend_qt.py in 1.3. The people on old RHEL systems can continue using an older mpl, or they can use a different backend if they update their mpl. There is a real maintenance burden with all code clutter. I felt it with fltk around the mpl 1.0 release. The last news item on http://pyfltk.sourceforge.net/ is dated August, 2009, so it looks like it has completely stalled. I think we should put in a deprecation warning for 1.3 and remove it in 1.4. If pyfltk somehow springs back to life, there is nothing to prevent us (or rather, some suitably motivated person) from updating backend_fltkagg and restoring it to mpl. The last pyemf release appears to date back to 2006. It's time to drop backend_emf. Deprecate now, remove in 1.4. CocoaAgg requires PyObjC; when I try to "pip install pyobjc", it fails. I don't know why. Unlike pyfltk, pyobjc is a live project. CocoaAgg, however, is not a live project, and it is not at all clear that it has ever been used as an alternative backend. From the docstring:
So it sounds to me like if it actually works, it should be migrated out to a cookbook wiki, or an example. ASAP. I think mpl is at a stage of maturity where it is important to actively trim out clutter and bloat; removing these backends is one part of that process. |
Completely agree with Eric's comments about removing the Qt3 backend. |
On Mon, Apr 29, 2013 at 2:30 PM, Eric Firing [email protected]:
|
Ah -- I should have actually looked at the Qt3 backend first ;) So I think we're in agreement on removing it for 1.3, then. I think I see the argument for making Maybe for EMF and fltk we poll the users list and if no responses, remove them? EDIT: I meant for EMF and fltk, deprecate. |
I tried the emf backend recently, but the result was not really useable. Irc, there was no text visible after import into publisher, also the linewidths were not right. I think dropping emf should be ok, it did no seem very useable. |
Problem with deprecation warnings such as the one about QT3 is that people ignore them and go about their business as if things will never change. I recently removed some interfaces from the master branch on pyfits that have been screaming "deprecated" for nearly two years, and sure enough as soon as I removed them lots of code broke. I think that before removing any deprecated backends it's good to scream about it in release notes, etc. for at least one more release. People will still ignore it but at that point you can really say "Well we gave you fair warning." |
At the very least the Qt3 backend should be removed before a Qt5 one is added. |
I installed PyObjC last night and the CocoaAgg backend functions. PyObjC looks like it might have had a bit of a revival (there was talk of it being able to create iPad/iPhone apps, which I think gave it a boost of impetus). I propose we do that for v1.4 putting in a strongly worded CocoaAgg backend deprecation warning (which encourages contributors to bring the CocoaAgg backend up to standards) for v1.3. I see no reason, since it is functional has not had a development burden recently, for us to remove it for v1.3. Thoughts? |
@pelson, your proposal is OK with me. |
Closed by #2026. |
For the 1.3 release, I think we should endeavor to have all backends working or removed. My definition of "working" here is a pretty low bar: I mean essentially importing and producing a usable result. I'm not talking about having all the fonts exactly match etc. such as with the known issues with (non-Agg) Wx and Gtk.
Here are the backends that I think are on the short list for removal:
And one additional suggestion -- it's working, but could be considered obsolete:
I know the Wx and Gtk backends are probably also low on the popularity list at this time, but they fill a unique niche for by providing better performance over remote X11 connections.
The text was updated successfully, but these errors were encountered: