You can subscribe to this list here.
2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
(33) |
Dec
(20) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
(7) |
Feb
(44) |
Mar
(51) |
Apr
(43) |
May
(43) |
Jun
(36) |
Jul
(61) |
Aug
(44) |
Sep
(25) |
Oct
(82) |
Nov
(97) |
Dec
(47) |
2005 |
Jan
(77) |
Feb
(143) |
Mar
(42) |
Apr
(31) |
May
(93) |
Jun
(93) |
Jul
(35) |
Aug
(78) |
Sep
(56) |
Oct
(44) |
Nov
(72) |
Dec
(75) |
2006 |
Jan
(116) |
Feb
(99) |
Mar
(181) |
Apr
(171) |
May
(112) |
Jun
(86) |
Jul
(91) |
Aug
(111) |
Sep
(77) |
Oct
(72) |
Nov
(57) |
Dec
(51) |
2007 |
Jan
(64) |
Feb
(116) |
Mar
(70) |
Apr
(74) |
May
(53) |
Jun
(40) |
Jul
(519) |
Aug
(151) |
Sep
(132) |
Oct
(74) |
Nov
(282) |
Dec
(190) |
2008 |
Jan
(141) |
Feb
(67) |
Mar
(69) |
Apr
(96) |
May
(227) |
Jun
(404) |
Jul
(399) |
Aug
(96) |
Sep
(120) |
Oct
(205) |
Nov
(126) |
Dec
(261) |
2009 |
Jan
(136) |
Feb
(136) |
Mar
(119) |
Apr
(124) |
May
(155) |
Jun
(98) |
Jul
(136) |
Aug
(292) |
Sep
(174) |
Oct
(126) |
Nov
(126) |
Dec
(79) |
2010 |
Jan
(109) |
Feb
(83) |
Mar
(139) |
Apr
(91) |
May
(79) |
Jun
(164) |
Jul
(184) |
Aug
(146) |
Sep
(163) |
Oct
(128) |
Nov
(70) |
Dec
(73) |
2011 |
Jan
(235) |
Feb
(165) |
Mar
(147) |
Apr
(86) |
May
(74) |
Jun
(118) |
Jul
(65) |
Aug
(75) |
Sep
(162) |
Oct
(94) |
Nov
(48) |
Dec
(44) |
2012 |
Jan
(49) |
Feb
(40) |
Mar
(88) |
Apr
(35) |
May
(52) |
Jun
(69) |
Jul
(90) |
Aug
(123) |
Sep
(112) |
Oct
(120) |
Nov
(105) |
Dec
(116) |
2013 |
Jan
(76) |
Feb
(26) |
Mar
(78) |
Apr
(43) |
May
(61) |
Jun
(53) |
Jul
(147) |
Aug
(85) |
Sep
(83) |
Oct
(122) |
Nov
(18) |
Dec
(27) |
2014 |
Jan
(58) |
Feb
(25) |
Mar
(49) |
Apr
(17) |
May
(29) |
Jun
(39) |
Jul
(53) |
Aug
(52) |
Sep
(35) |
Oct
(47) |
Nov
(110) |
Dec
(27) |
2015 |
Jan
(50) |
Feb
(93) |
Mar
(96) |
Apr
(30) |
May
(55) |
Jun
(83) |
Jul
(44) |
Aug
(8) |
Sep
(5) |
Oct
|
Nov
(1) |
Dec
(1) |
2016 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
(2) |
Jul
|
Aug
(3) |
Sep
(1) |
Oct
(3) |
Nov
|
Dec
|
2017 |
Jan
|
Feb
(5) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(3) |
Aug
|
Sep
(7) |
Oct
|
Nov
|
Dec
|
2018 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
|
|
|
1
(3) |
2
(5) |
3
|
4
|
5
(1) |
6
(1) |
7
|
8
|
9
|
10
(11) |
11
(10) |
12
|
13
|
14
(1) |
15
(1) |
16
(24) |
17
(22) |
18
|
19
|
20
(1) |
21
(6) |
22
(4) |
23
(6) |
24
(3) |
25
(2) |
26
(2) |
27
(3) |
28
(7) |
29
(5) |
30
(8) |
31
(10) |
|
Gael Varoquaux wrote: > On Fri, Jul 10, 2009 at 11:05:24PM +0200, Gael Varoquaux wrote: >>> Committed to svn. Please check it. > >> Certainly does work betters. > > Actually, I beg your pardon, but it does not really work: if you have > 2.6 and 2.8 installed, it will still import 2.6, which is not what you > want. > > Here is a patch that works a bit better: it does import 2.8 even when 2.6 > is installed: Committed, thank you. Eric > > Index: lib/matplotlib/backends/backend_wx.py > =================================================================== > --- lib/matplotlib/backends/backend_wx.py (revision 7251) > +++ lib/matplotlib/backends/backend_wx.py (working copy) > @@ -124,6 +124,12 @@ > else: > warnings.warn( > "Update your wxversion.py to one including > AlreadyImportedError") > + try: > + wxversion.ensureMinimal('2.8') > + except wxversion.VersionError: > + pass > + > + > > try: > import wx > > Thanks for your work, > > Gaël
On Fri, Jul 10, 2009 at 11:05:24PM +0200, Gael Varoquaux wrote: > > Committed to svn. Please check it. > Certainly does work betters. Actually, I beg your pardon, but it does not really work: if you have 2.6 and 2.8 installed, it will still import 2.6, which is not what you want. Here is a patch that works a bit better: it does import 2.8 even when 2.6 is installed: Index: lib/matplotlib/backends/backend_wx.py =================================================================== --- lib/matplotlib/backends/backend_wx.py (revision 7251) +++ lib/matplotlib/backends/backend_wx.py (working copy) @@ -124,6 +124,12 @@ else: warnings.warn( "Update your wxversion.py to one including AlreadyImportedError") + try: + wxversion.ensureMinimal('2.8') + except wxversion.VersionError: + pass + + try: import wx Thanks for your work, Gaël
On Fri, Jul 10, 2009 at 09:41:30AM -1000, Eric Firing wrote: >> OK, but right now MPL is broken with my version of wxversion, which is the >> one shipped by default in Ubuntu. So it is broken for a lot of user. > > Are you sure? Could you be pulling in some other wxversion? The only > other person reporting this problem so far is Tony Yu. I am now on > jaunty, and my wxversion has AlreadyImportedError. What version of > ubuntu are you using, and what is the full wx version that it includes? Ha, interesting: $ ipython Python 2.6.2 (release26-maint, Apr 19 2009, 01:56:41) Type "copyright", "credits" or "license" for more information. IPython 0.10.bzr.r1163 -- An enhanced Interactive Python. ? -> Introduction and overview of IPython's features. %quickref -> Quick reference. help -> Python's own help system. object? -> Details about 'object'. ?object also works, ?? prints more. In [1]: import wxversion In [2]: wxversion.__file__ Out[2]: '/usr/lib/python2.6/dist-packages/wx-2.6-gtk2-unicode/wxversion.pyc' So, if wx2.6 is installed (I have 2.8 installed too), we run into these problem. Also, it is interesting to see that the older wxversion gets imported. That does defeat the purpose of wxversion :). It means that you can't have multiple versions of wx installed. >> It seems wrong for me to require the users to upgrade wxversion while >> there is a solution that works, eventhough it may not be exactly what you >> want. > > The solution you propose doesn't work. It completely defeats the > version check. In a way it does. So we can add a check: "if 'wx' in sys.module:" to replace the "AlreadyImportedError", it is clearly bug ware. >> One solution is to do bugware with hasattr(wxversion, 'AlreadyImportedError') > > Committed to svn. Please check it. Certainly does work betters. Also, the "AlreadyImported" problem is caught elsewhere if I preimport an older version of wx: File "/home/varoquau/dev/matplotlib/lib/pylab.py", line 1, in <module> from matplotlib.pylab import * File "/home/varoquau/dev/matplotlib/lib/matplotlib/pylab.py", line 244, in <module> from matplotlib.pyplot import * File "/home/varoquau/dev/matplotlib/lib/matplotlib/pyplot.py", line 76, in <module> new_figure_manager, draw_if_interactive, show = pylab_setup() File "/home/varoquau/dev/matplotlib/lib/matplotlib/backends/__init__.py", line 25, in pylab_setup globals(),locals(),[backend_name]) File "/home/varoquau/dev/matplotlib/lib/matplotlib/backends/backend_wxagg.py", line 23, in <module> import backend_wx # already uses wxversion.ensureMinimal('2.8') File "/home/varoquau/dev/matplotlib/lib/matplotlib/backends/backend_wx.py", line 137, in <module> raise ImportError(missingwx) ImportError: Matplotlib backend_wx and backend_wxagg require wxPython >=2.8 Thanks for your fix. Gaël
Gael Varoquaux wrote: > On Fri, Jul 10, 2009 at 08:12:14AM -1000, Eric Firing wrote: >> Gael Varoquaux wrote: >>> It seems that matplotlib needs the following patch for wxPython 2.8 >>> (traceback hard to replicate, as you need to import wx before importing >>> matplotlib): > >>> Index: lib/matplotlib/backends/backend_wx.py >>> =================================================================== >>> --- lib/matplotlib/backends/backend_wx.py (revision 7250) >>> +++ lib/matplotlib/backends/backend_wx.py (working copy) >>> @@ -117,7 +117,7 @@ >>> try: >>> wxversion.ensureMinimal('2.8') >>> -except wxversion.AlreadyImportedError: >>> +except wxversion.VersionError: >>> pass >>> try: >> No, that is not a good solution: >> http://www.mail-archive.com/mat...@li.../msg05003.html > > OK, but right now MPL is broken with my version of wxversion, which is the > one shipped by default in Ubuntu. So it is broken for a lot of user. Are you sure? Could you be pulling in some other wxversion? The only other person reporting this problem so far is Tony Yu. I am now on jaunty, and my wxversion has AlreadyImportedError. What version of ubuntu are you using, and what is the full wx version that it includes? > > It seems wrong for me to require the users to upgrade wxversion while > there is a solution that works, eventhough it may not be exactly what you > want. The solution you propose doesn't work. It completely defeats the version check. > > One solution is to do bugware with hasattr(wxversion, 'AlreadyImportedError') Committed to svn. Please check it. Eric > > Gaël > > ------------------------------------------------------------------------------ > Enter the BlackBerry Developer Challenge > This is your chance to win up to 100,000ドル in prizes! For a limited time, > vendors submitting new applications to BlackBerry App World(TM) will have > the opportunity to enter the BlackBerry Developer Challenge. See full prize > details at: http://p.sf.net/sfu/Challenge > _______________________________________________ > Matplotlib-devel mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-devel
Gael Varoquaux wrote: > It seems that matplotlib needs the following patch for wxPython 2.8 > (traceback hard to replicate, as you need to import wx before importing > matplotlib): > > Index: lib/matplotlib/backends/backend_wx.py > =================================================================== > --- lib/matplotlib/backends/backend_wx.py (revision 7250) > +++ lib/matplotlib/backends/backend_wx.py (working copy) > @@ -117,7 +117,7 @@ > > try: > wxversion.ensureMinimal('2.8') > -except wxversion.AlreadyImportedError: > +except wxversion.VersionError: > pass > > try: No, that is not a good solution: http://www.mail-archive.com/mat...@li.../msg05003.html Eric > > And, by the way, I just had a brain fart, and sent a stupid e-mail on the > same subject. I am not sure where it went, but please disregard it. > > Cheers; > > Gaël > > ------------------------------------------------------------------------------ > Enter the BlackBerry Developer Challenge > This is your chance to win up to 100,000ドル in prizes! For a limited time, > vendors submitting new applications to BlackBerry App World(TM) will have > the opportunity to enter the BlackBerry Developer Challenge. See full prize > details at: http://p.sf.net/sfu/Challenge > _______________________________________________ > Matplotlib-devel mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-devel
On Fri, Jul 10, 2009 at 08:12:14AM -1000, Eric Firing wrote: > Gael Varoquaux wrote: >> It seems that matplotlib needs the following patch for wxPython 2.8 >> (traceback hard to replicate, as you need to import wx before importing >> matplotlib): >> Index: lib/matplotlib/backends/backend_wx.py >> =================================================================== >> --- lib/matplotlib/backends/backend_wx.py (revision 7250) >> +++ lib/matplotlib/backends/backend_wx.py (working copy) >> @@ -117,7 +117,7 @@ >> try: >> wxversion.ensureMinimal('2.8') >> -except wxversion.AlreadyImportedError: >> +except wxversion.VersionError: >> pass >> try: > > No, that is not a good solution: > http://www.mail-archive.com/mat...@li.../msg05003.html OK, but right now MPL is broken with my version of wxversion, which is the one shipped by default in Ubuntu. So it is broken for a lot of user. It seems wrong for me to require the users to upgrade wxversion while there is a solution that works, eventhough it may not be exactly what you want. One solution is to do bugware with hasattr(wxversion, 'AlreadyImportedError') Gaël
On 2009年07月09日 23:19, Andrew Straw wrote: > Erik Tollerud wrote: >> 2. Installation of traits or traitsgui should not be a necessity for >> MPL... perhaps this will change in the future, but it's currently a >> far bigger task to get traits and traits UI working on an arbitrary >> system than it is to get MPL up and running (at least, that's been my >> experience in a number of different settings). >> > Well, I don't think we need traits UI, and I don't imagine traits itself > is hard to build, although I could be wrong (I always use the > Ubuntu/Debian packages). Traits itself is pretty trivial. There is one C extension that has no library dependencies like libfreetype. -- Robert Kern "I have come to believe that the whole world is an enigma, a harmless enigma that is made terrible by our own mad attempt to interpret it as though it had an underlying truth." -- Umberto Eco
It seems that matplotlib needs the following patch for wxPython 2.8 (traceback hard to replicate, as you need to import wx before importing matplotlib): Index: lib/matplotlib/backends/backend_wx.py =================================================================== --- lib/matplotlib/backends/backend_wx.py (revision 7250) +++ lib/matplotlib/backends/backend_wx.py (working copy) @@ -117,7 +117,7 @@ try: wxversion.ensureMinimal('2.8') -except wxversion.AlreadyImportedError: +except wxversion.VersionError: pass try: And, by the way, I just had a brain fart, and sent a stupid e-mail on the same subject. I am not sure where it went, but please disregard it. Cheers; Gaël
It seems that the following fix is necessary for matplolitb to work wxPython 2.8. Index: lib/matplotlib/backends/backend_wx.py =================================================================== --- lib/matplotlib/backends/backend_wx.py (revision 7250) +++ lib/matplotlib/backends/backend_wx.py (working copy) @@ -117,7 +117,7 @@ try: wxversion.ensureMinimal('2.8') -except wxversion.AlreadyImportedError: +except wxversion.VersionError() pass Cheers, Gaël
Erik Tollerud wrote: > Personally, I think traits must be kept out of MPL, for three main reasons: > As these comments are in respose to my email, let me again state the main point of my email: My main feeling about MPL is that there's just too much layout happening to keep using the non-systematic delegation/notification "system" currently in place while allowing the devs to maintain their sanity and day jobs. [...] Therefore, I'd suggest that before adding on too many more nice features, we revisit the core layout and delegation system -- in the end it will make everything much easier. So, perhaps a useful thing would be for as many MPL devs as possible to sit together and discuss how we could do this. Thus, I was suggesting traits as a means to an end (a saner core), and not something for its own sake. > 1. As Eric Bruning points out, while traits is a very powerful tool, > it also closes a lot of doors by forcing everything to be written in a > trait-like fashion for it to play nice with everything else. While > this is great for many applications, I think it does not necessarily > belong everywhere, particularly given a tendancy to quickly snowball > in complexity (not to mention any new people that want to contribute > code have an extra thick manual to read). > I wasn't proposing to touch the user API for MPL. I think we'd be silly to do that. > 2. Installation of traits or traitsgui should not be a necessity for > MPL... perhaps this will change in the future, but it's currently a > far bigger task to get traits and traits UI working on an arbitrary > system than it is to get MPL up and running (at least, that's been my > experience in a number of different settings). > Well, I don't think we need traits UI, and I don't imagine traits itself is hard to build, although I could be wrong (I always use the Ubuntu/Debian packages). > 3. Chaco - my general mindset on this is that Chaco is great for > plotting any and everything in a traits gui, but MPL is much better > for the quickcalculations and plots that I make every day as a > scientist. When a critical mass is reached it becomes better to > integrate a tool into a GUI app, MPL becomes more difficult to manage > and chaco is a better tool. But I think it makes a lot of sense to > leverage MPL most as the wonderful "quick-and-dirty" command-line > interactive plotting environment that it is rather than making it > application-centric, which is where I can envision it going as soon as > it has to run with traits. > > Now a great idea would be to include optional support for things like > setting configuration files from a traits interface - I know I've seen > talk of doing this for matplotlibrc at some point, and I'd definitely > use that. Simlarly, some sort of traits-level extension to support > more interactive plots and better layout seems like it could be done > without requiring the core to use traits. > OK, but these don't address my main concern that the core layout of MPL is an unwieldy beast. Anyhow, as I'm way too busy to think about any real coding on MPL's core right now, this is just cheap talk... -Andrew
Personally, I think traits must be kept out of MPL, for three main reasons: 1. As Eric Bruning points out, while traits is a very powerful tool, it also closes a lot of doors by forcing everything to be written in a trait-like fashion for it to play nice with everything else. While this is great for many applications, I think it does not necessarily belong everywhere, particularly given a tendancy to quickly snowball in complexity (not to mention any new people that want to contribute code have an extra thick manual to read). 2. Installation of traits or traitsgui should not be a necessity for MPL... perhaps this will change in the future, but it's currently a far bigger task to get traits and traits UI working on an arbitrary system than it is to get MPL up and running (at least, that's been my experience in a number of different settings). 3. Chaco - my general mindset on this is that Chaco is great for plotting any and everything in a traits gui, but MPL is much better for the quickcalculations and plots that I make every day as a scientist. When a critical mass is reached it becomes better to integrate a tool into a GUI app, MPL becomes more difficult to manage and chaco is a better tool. But I think it makes a lot of sense to leverage MPL most as the wonderful "quick-and-dirty" command-line interactive plotting environment that it is rather than making it application-centric, which is where I can envision it going as soon as it has to run with traits. Now a great idea would be to include optional support for things like setting configuration files from a traits interface - I know I've seen talk of doing this for matplotlibrc at some point, and I'd definitely use that. Simlarly, some sort of traits-level extension to support more interactive plots and better layout seems like it could be done without requiring the core to use traits. As for the question of new directions to go: One thing I would like to see is a decent, simple 3D package in the core - nothing fancy (mayavi is great if you want to get fancy), but just something that makes great publication-quality figures with a quick and simple pylab-like interface. That's the main thing I have no good response for when people are contemplating switching to python/numpy/MPL. I also think it might be neat to implement auto-generating function plots - that is, plots where one of the axes is generated by a function at a resolution that scales as you change the plot. I've seen some chaco demos of something like this, but it's rather complicated to implement - a function like pyplot.plotfunc(func,'--b',initialrange=(-1,1)) that does exactly this would be a wonderful capability. This may be more a user perspective than a "dev" perspective, but still, there it is. On Thu, Jul 2, 2009 at 10:45 AM, Eric Bruning<eri...@gm...> wrote: > On Wed, Jul 1, 2009 at 9:51 PM, Andrew Straw<str...@as...> wrote: >> Gael Varoquaux wrote: >>> On Wed, Jul 01, 2009 at 08:39:30AM -0500, John Hunter wrote: >>> >>>> Anyone interested? And if so, feel free to suggest topics or weigh in >>>> on some I listed. >>>> >>> >>> Actually, I have something I would like to discuss, but never really >>> could pull myself together to do it. I don't have time right now, but I >>> am still going to jot down the ideas. >>> >>> The axes and figure paradigm inherited from matlab works well for simple >>> things, but when I want to more complex layouts, I actually end up >>> struggling with calls to axes with numerical parameters to adjust. In >>> addition, if I have a function that creates a plot with multiple axes, >>> like the figure on: >>> http://neuroimaging.scipy.org/site/doc/manual/html/neurospin/activation_map.html >>> I may want to reuse that function to create more complex figures, >>> stacking several of these views, with possibly other plots. >>> >>> It seems to me having a level of granularity between the figure, and the >>> axes would help me a lot achieving these goals. I haven't had time to >>> hash out an API, or even solid concepts. For people who know LaTeX well, >>> let me draw an analogy: the figure is the page, the axis is the >>> character, what we are lacking in a 'minipage'. I would like a container >>> that can be stacked into a figure, and that can either hold axes, or >>> similar containers. That way, I could specify subplot, or axis relative >>> to this container, rather than relative to the whole figure, and it makes >>> it really easy for me to insert figures in larger figures. >>> >>> One possible API would be 'subfigure', which would have a signature >>> similar to 'axes', but of course things would need to be thought a bit >>> more in detail: do we want clf to erase the figure and not the subfigure? >>> I believe so. Do we want subplot to divide the subfigure, rather than the >>> figure? I believe so too. How do we go back to full figure without >>> erasing the subfigures it contains? I think subfigure(None) might work. >>> How do I select a subfigure I already created? Maybe by passing it a >>> subfigure instance, like the way axes work. >>> >>> Also, Chaco has the notion of containers, in which you can stack plots or >>> other containers. They have an additional feature which is that they >>> enable you to stack plot (these would be axes, in matplotlib terms) and >>> do an automatic layout of the plots. Very handy to have an extensible >>> canvas to display information on. Some sparse documentation: >>> http://code.enthought.com/projects/chaco/docs/html/api/containers.html >>> >>> I have been trying to find time to think about this for more than a year, >>> and haven't. This is why I am sending unfinished thoughts. I do believe >>> more thinking has to be done, and the subfigure proposition may not hold >>> at all. Also, I fear I do not have time to implement this. >>> >> I also have some not very fleshed out thoughts: my main feeling about >> MPL is that there's just too much layout happening to keep using the >> non-systematic delegation/notification "system" currently in place while >> allowing the devs to maintain their sanity and day jobs. I don't mean to >> disparage MPL -- it is quite a fantastic piece of code -- but there is a >> lack of abstraction of layout hierarchies and layout dependencies that >> makes development difficult. >> >> Therefore, I'd suggest that before adding on too many more nice >> features, we revisit the core layout and delegation system -- in the end >> it will make everything much easier. So, perhaps a useful thing would be >> for as many MPL devs as possible to sit together and discuss how we >> could do this. My thought right now would be to investigate the use of >> traits to codify the layout abstractions. >> >> Any effort like this will also obviously benefit from having an >> extensive test suite. I think all that's needed to get the tests at >> http://mpl-buildbot.code.astraw.com/waterfall to pass is that someone >> checks in new images made with the current MPL. I'd like to do this, but >> I'm really short on time at the moment. So, please, someone -- beat me >> to it -- it won't be hard! >> >> Those are my 2 cents. Hope to see you all at SciPy 2009! >> >> -Andrew > > > While we're dreaming big re-architecting dreams, I'll throw out an > idea related to Gael's suggestion: artist containers at the sub-axis > level. This would be a drawable / hideable container for an arbitrary > grouping of Artists that could be directly added to one (or more) > Axes. For those familiar with IDL, the IDLgrContainer in their object > graphics system is what I have in mind. > > I also concur with Andrew's assessment that interactive and layout > event handling is holding back some extra fun in interactive apps. I > have mixed feelings about using Traits; in my experience with writing > (only one) app, I felt like I had to subsume everything, my data > modeling included, under the Traits paradigm, such that I was no > longer writing Python but Traits. I found it very hard to include > other data objects created by other libraries without making them > Traitified, too. This could be a knowledge gap on my part, of course. > > David Beazley's course on coroutines > (http://www.dabeaz.com/coroutines/index.html, see esp. Part 3) and > this talk (http://carlfk.blip.tv/file/2232349) on asynchronous vs. > threaded multitasking both have some interesting thoughts on > standard-library ways to model OS-like behaviors such as event > handling. > > Thanks, > Eric > > ------------------------------------------------------------------------------ > _______________________________________________ > Matplotlib-devel mailing list > Mat...@li... > https://lists.sourceforge.net/lists/listinfo/matplotlib-devel >