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
(10) |
2
(4) |
3
(11) |
4
(4) |
5
(6) |
6
(8) |
7
(7) |
8
(9) |
9
(6) |
10
|
11
|
12
(7) |
13
(6) |
14
(18) |
15
(13) |
16
(7) |
17
(15) |
18
(1) |
19
|
20
(1) |
21
(2) |
22
(5) |
23
(3) |
24
(4) |
25
(1) |
26
|
27
(8) |
28
(2) |
29
(5) |
30
|
|
|
From: Fernando P. <fpe...@gm...> - 2010-09-16 20:54:55
|
Howdy, I just wanted to bump this again: given the speed of Michael's recent SVG fixes, maybe fixing these two is also quite easy. They are the only problem coming from matplotlib right now regarding the use of the new qt console for ipython. If not let me know and I'll just file reports on the tracker for long-term storage :) Cheers, f On Tue, Sep 7, 2010 at 3:39 AM, Fernando Perez <fpe...@gm...> wrote: > Hi folks, > > I've just implemented support in ipython for simultaneous use of the > interactive mpl gui backends along with inlined figures, as I had > suggested to Eric things could work. > > But I'm seeing two little glitches, illustrated here: > > http://fperez.org/tmp/mpl_svg_bug.png > > The white console on the right is IPython, the mpl window was my only > open figure. > > The code I ran was: > > x=rand(1000) > plot (x) # this pops up the normal gui, I tested Qt4Agg and GTKAgg > > paste() # this pasted the open figure into the IPython console. > > At this point, the plot in the window got that funny size, with the > x-labels double-drawn. It seems as if the figure got re-drawn over > the previous canvas, at a different size. If I resize the window, the > problem goes away, but if I don't resize it, it persists through new > plot/draw operations. > > The second problem... I then zoomed the interactive window and issued > paste again, getting the plot in the bottom right of the figure: > paste() > > And here the bug seems to be related to clipping: while the window > clips OK, the SVG seems not to. > > Is this a fundamental limitation of the SVG backend? > > For IPython we can also switch to pngs if that turns out to work > better, but I figured I'd report these... > > All this was done with current mpl from trunk. |
From: Fernando P. <fpe...@gm...> - 2010-09-16 20:36:51
|
On Tue, Sep 14, 2010 at 8:21 AM, John Hunter <jd...@gm...> wrote: > > How about this as an alternative: on my box, I can drag the "source > code" link from the browser into my terminal, which by default pastes > the URL of the referenced *.py into the terminal. If "run" supported > a -w (web) option, or automatically detected that the URL starts with > http, it could do a web run of the file. Of course, you may want the > source code pasted in for illustrative purposes... To support this, > you could add a -u (url) option to "paste" which assumes the input is > a url, fetches it, and pastes the contents into ipython. So you could > type "paste -u" and then drag the link into the terminal, and it would > fetch it and paste the code into an input block. Ask and ye shall receive (yes, the url was drag-dropped from the 'source code' link in the mpl page), welcome %loadpy: http://fperez.org/tmp/iqlab_mpl_loadpy.png Full credits go to Brian and Evan! Cheers, f |
From: Jason G. <jas...@cr...> - 2010-09-16 19:50:49
|
As a follow-up, I've implemented the patch for CXX and also patches for the other files which do not include Python.h first here: http://github.com/jasongrout/matplotlib/commit/a961c299f5d589dae87e06caf54975eb657ebf3b I've also attached the patch. This patch gets rid of the warnings about redefining things on OSX 10.6.4 (see my last message on this thread). Thanks, Jason |
From: Jason G. <jas...@cr...> - 2010-09-16 18:32:19
|
Apologies for the long message---I've really tried to be precise and complete. On 7/7/10 10:23 AM, Jason Grout wrote: > David Kirkby discovered that a recent SVN version of matplotlib did not > compile when he was testing a new matplotlib for inclusion in Sage. A > bug was opened here: > > https://sourceforge.net/tracker/?func=detail&aid=3022815&group_id=80706&atid=560720 > > It appears that a patch has been committed to 1.0.0 which tries to fix > the issue. However, David still reports that matplotlib 1.0.0 still > doesn't compile on Solaris. See: > > http://trac.sagemath.org/sage_trac/ticket/9221?#comment:7 > > I'm not sure what the right procedure for reopening a ticket is. > I've had some time and access to a solaris box today to try to deal with this issue. I think I've solved it, based on a hint from David Kirkby. Again, the issue is that matplotlib 1.0.0 will not compile on the solaris box t2.sagemath.org (and on another Solaris box too). David Kirkby provided the logs and specs for the systems at http://trac.sagemath.org/sage_trac/ticket/9221#comment:7 The error is in compiling CXX: ================================================================== gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -DPY_ARRAY_UNIQUE_SYMBOL=MPL_ARRAY_API -DPYCXX_ISO_CPP_LIB=1 -I/scratch/grout/sage-4.5.3/local/lib/python2.6/site-packages/numpy/core/include -I/scratch/grout/sage-4.5.3/local/include -I. -I/scratch/grout/sage-4.5.3/local/lib/python2.6/site-packages/numpy/core/include -Isrc -Iagg24/include -I. -I/scratch/grout/sage-4.5.3/local/lib/python2.6/site-packages/numpy/core/include -I/scratch/grout/sage-4.5.3/local/include/freetype2 -I/scratch/grout/sage-4.5.3/local/include -I. -I/scratch/grout/sage-4.5.3/local/include/python2.6 -c src/backend_agg.cpp -o build/temp.solaris-2.10-sun4v-2.6/src/backend_agg.o cc1plus: warning: command line option "-Wstrict-prototypes" is valid for Ada/C/ObjC but not for C++ In file included from /scratch/grout/sage-4.5.3/local/include/python2.6/Python.h:8, from ./CXX/WrapPython.h:61, from ./CXX/Extensions.hxx:37, from src/ft2font.h:4, from src/backend_agg.cpp:10: /scratch/grout/sage-4.5.3/local/include/python2.6/pyconfig.h:1013:1: warning: "_FILE_OFFSET_BITS" redefined In file included from /usr/include/sys/types.h:18, from /scratch/grout/sage-4.5.3/local/include/zconf.h:364, from /scratch/grout/sage-4.5.3/local/include/zlib.h:34, from /scratch/grout/sage-4.5.3/local/include/png.h:470, from src/backend_agg.cpp:3: /usr/local/gcc-4.4.1-sun-linker/bin/../lib/gcc/sparc-sun-solaris2.10/4.4.1/include-fixed/sys/feature_tests.h:197:1: warning: this is the location of the previous definition In file included from /scratch/grout/sage-4.5.3/local/include/python2.6/Python.h:42, from ./CXX/WrapPython.h:61, from ./CXX/Extensions.hxx:37, from src/ft2font.h:4, from src/backend_agg.cpp:10: /usr/include/stdlib.h:144: error: declaration of C function 'void swab(const char*, char*, ssize_t)' conflicts with /usr/include/unistd.h:496: error: previous declaration 'void swab(const void*, void*, ssize_t)' here error: command 'gcc' failed with exit status 1 ================================================================== This was reportedly fixed in 1.0.0, but apparently the fix does not work for this Solaris box. Based on a hint from David Kirkby, I changed the CXX/WrapPython.h file to be: ================================================================== #ifndef __PyCXX_wrap_python_hxx__ #define __PyCXX_wrap_python_hxx__ // On some platforms we have to include time.h to get select defined #if !defined(__WIN32__) && !defined(WIN32) && !defined(_WIN32) && !defined(_WIN64) #include <sys/time.h> #endif // pull in python definitions #include <Python.h> #endif ================================================================== (in other words, I just deleted all the defining and undefining of variables). The resulting matplotlib compiled finally, and the result of the testing was: ================================================================== In [1]: import matplotlib In [2]: matplotlib.__version__ Out[2]: '1.0.0' In [3]: matplotlib.test() /scratch/grout/sage-4.5.3/local/lib/python2.6/site-packages/matplotlib/axes.py:2369: UserWarning: Attempting to set identical left==right results in singular transformations; automatically expanding. left=730139.0, right=730139.0 + 'left=%s, right=%s') % (left, right)) ---------------------------------------------------------------------- Ran 138 tests in 755.419s OK (KNOWNFAIL=42) Out[3]: True ================================================================== so I guess that means everything works. I also compiled it on Ubuntu 10.04 (64-bit) and OSX 10.6.4, and it seemed to compile fine on those systems, though on OSX 10.6.4, I got some warnings like: /home/grout/sage/local/include/python2.6/pyconfig.h:1028:1: warning: "_POSIX_C_SOURCE" redefined /home/grout/sage/local/include/python2.6/pyconfig.h:1037:1: warning: "_XOPEN_SOURCE" redefined This brings up another issue: going against the Python API As you probably already know, http://docs.python.org/c-api/intro.html#includes says that: "Since Python may define some pre-processor definitions which affect the standard headers on some systems, you must include Python.h before any standard headers are included." I notice a lot of other #undef statements for _POSIX_C_SOURCE and _XOPEN_SOURCE in matplotlib code. To my (uneducated) eyes, that seems like a recipe for trouble, since defining it one way while including some other files, and then undefining the macros and defining them a different way may lead to problems. For example, in _png.cpp, I see: #include <png.h> // To remove a gcc warning #ifdef _POSIX_C_SOURCE #undef _POSIX_C_SOURCE #endif According to the Python API, we should include python.h before including png.h. Thanks, Jason |
From: Jouni K. S. <jk...@ik...> - 2010-09-15 19:40:44
|
jgsedi <jg...@fr...> writes: > undefined symbol: PyUnicodeUCS2_AsEncodedString http://docs.python.org/faq/extending#when-importing-module-x-why-do-i-get-undefined-symbol-pyunicodeucs2 Python can be built to use either UCS-2 or UCS-4. You are trying to use a module compiled with one of these options on a Python compiled with the other, and that ImportError is Python's way of telling you that this cannot work. Please double-check that you are running your test with the same Python binary that you built matplotlib with. You mentioned in your message that you rebuilt matplotlib, but did you install that rebuilt version and test on it, or were you accidentally using a version compiled against a different Python binary? -- Jouni K. Seppänen http://www.iki.fi/jks |
From: jgsedi <jg...@fr...> - 2010-09-15 17:56:08
|
Hi all, i always got the following ImportError, if i try to run : #> python simple_plot.py Traceback (most recent call last): File "simple_plot.py", line 1, in <module> from pylab import * File "/usr/lib/python2.6/site-packages/pylab.py", line 1, in <module> from matplotlib.pylab import * File "/usr/lib/python2.6/site-packages/matplotlib/pylab.py", line 216, in <module> from matplotlib import mpl # pulls in most modules File "/usr/lib/python2.6/site-packages/matplotlib/mpl.py", line 1, in <module> from matplotlib import artist File "/usr/lib/python2.6/site-packages/matplotlib/artist.py", line 6, in <module> from transforms import Bbox, IdentityTransform, TransformedBbox, TransformedPath File "/usr/lib/python2.6/site-packages/matplotlib/transforms.py", line 34, in <module> from matplotlib._path import affine_transform ImportError: /usr/lib/python2.6/site-packages/matplotlib/_path.so: undefined symbol: PyUnicodeUCS2_AsEncodedString As recommended on http://matplotlib.sourceforge.net/faq/troubleshooting_faq.html#reporting-problems i will report some information: ______________________ 1. Verbose output at running the simple_plot.py script: #> python simple_plot.py --verbose-helpful > ~/Dokumente/temp/matplotlib_helpful.out #> cat matplotlib_helpful.out $HOME=/home/xy CONFIGDIR=/home/xy/.matplotlib matplotlib data path /usr/lib/python2.6/site-packages/matplotlib/mpl-data loaded rc file /usr/lib/python2.6/site-packages/matplotlib/mpl-data/matplotlibrc matplotlib version 1.0.0 verbose.level helpful interactive is False units is False platform is linux2 ______________________ 2. build matplotlib again (there were three warnings on stderr) and print output to matplotlib_build.out: #> python setup.py build > matplotlib_build.out lib/matplotlib/delaunay/VoronoiDiagramGenerator.cpp: In member function ‘bool VoronoiDiagramGenerator::voronoi(int)’: lib/matplotlib/delaunay/VoronoiDiagramGenerator.cpp:923:18: warning: ‘newintstar.Point::x’ may be used uninitialized in this function lib/matplotlib/delaunay/VoronoiDiagramGenerator.cpp:923:18: warning: ‘newintstar.Point::y’ may be used uninitialized in this function #> cat matplotlib_build.out basedirlist is: ['/usr/local', '/usr'] ============================================================================ BUILDING MATPLOTLIB matplotlib: 1.0.0 python: 2.6.5 (r265:79063, Jul 5 2010, 11:47:21) [GCC 4.5.0 20100604 [gcc-4_5-branch revision 160292]] platform: linux2 REQUIRED DEPENDENCIES numpy: 1.3.0 freetype2: 10.0.4 OPTIONAL BACKEND DEPENDENCIES libpng: 1.2.44 Tkinter: no * Using default library and include directories for * Tcl and Tk because a Tk window failed to open. * You may need to define DISPLAY for Tk to work so * that setup can determine where your libraries are * located. Tkinter present, but header files are not * found. You may need to install development * packages. wxPython: no * wxPython not found pkg-config: looking for pygtk-2.0 gtk+-2.0 * Package pygtk-2.0 was not found in the pkg-config * search path. Perhaps you should add the directory * containing `pygtk-2.0.pc' to the PKG_CONFIG_PATH * environment variable No package 'pygtk-2.0' found * Package gtk+-2.0 was not found in the pkg-config * search path. Perhaps you should add the directory * containing `gtk+-2.0.pc' to the PKG_CONFIG_PATH * environment variable No package 'gtk+-2.0' found * You may need to install 'dev' package(s) to * provide header files. Gtk+: no * Could not find Gtk+ headers in any of * '/usr/local/include', '/usr/include', '.' Mac OS X native: no Qt: no Qt4: no Cairo: 1.8.8 OPTIONAL DATE/TIMEZONE DEPENDENCIES datetime: present, version unknown dateutil: 1.5 pytz: 2010h OPTIONAL USETEX DEPENDENCIES dvipng: no ghostscript: 8.70 latex: no pdftops: 0.12.3 [Edit setup.cfg to suppress the above messages] ============================================================================ pymods ['pylab'] packages ['matplotlib', 'matplotlib.backends', 'matplotlib.backends.qt4_editor', 'matplotlib.projections', 'matplotlib.testing', 'matplotlib.testing.jpl_units', 'matplotlib.tests', 'mpl_toolkits', 'mpl_toolkits.mplot3d', 'mpl_toolkits.axes_grid', 'mpl_toolkits.axes_grid1', 'mpl_toolkits.axisartist', 'matplotlib.sphinxext', 'matplotlib.numerix', 'matplotlib.numerix.mlab', 'matplotlib.numerix.ma', 'matplotlib.numerix.linear_algebra', 'matplotlib.numerix.random_array', 'matplotlib.numerix.fft', 'matplotlib.tri', 'matplotlib.delaunay'] running build running build_py creating build creating build/lib.linux-i686-2.6 copying lib/pylab.py -> build/lib.linux-i686-2.6 creating build/lib.linux-i686-2.6/matplotlib copying lib/matplotlib/docstring.py -> build/lib.linux-i686-2.6/matplotlib copying lib/matplotlib/pylab.py -> build/lib.linux-i686-2.6/matplotlib copying lib/matplotlib/font_manager.py -> build/lib.linux-i686-2.6/matplotlib copying lib/matplotlib/mpl.py -> build/lib.linux-i686-2.6/matplotlib copying lib/matplotlib/pyparsing.py -> build/lib.linux-i686-2.6/matplotlib copying lib/matplotlib/texmanager.py -> build/lib.linux-i686-2.6/matplotlib copying lib/matplotlib/cm.py -> build/lib.linux-i686-2.6/matplotlib copying lib/matplotlib/dviread.py -> build/lib.linux-i686-2.6/matplotlib copying lib/matplotlib/tight_bbox.py -> build/lib.linux-i686-2.6/matplotlib copying lib/matplotlib/_cm.py -> build/lib.linux-i686-2.6/matplotlib copying lib/matplotlib/offsetbox.py -> build/lib.linux-i686-2.6/matplotlib copying lib/matplotlib/scale.py -> build/lib.linux-i686-2.6/matplotlib copying lib/matplotlib/ticker.py -> build/lib.linux-i686-2.6/matplotlib copying lib/matplotlib/__init__.py -> build/lib.linux-i686-2.6/matplotlib copying lib/matplotlib/units.py -> build/lib.linux-i686-2.6/matplotlib copying lib/matplotlib/axes.py -> build/lib.linux-i686-2.6/matplotlib copying lib/matplotlib/hatch.py -> build/lib.linux-i686-2.6/matplotlib copying lib/matplotlib/pyplot.py -> build/lib.linux-i686-2.6/matplotlib copying lib/matplotlib/mathtext.py -> build/lib.linux-i686-2.6/matplotlib copying lib/matplotlib/fontconfig_pattern.py -> build/lib.linux-i686-2.6/matplotlib copying lib/matplotlib/axis.py -> build/lib.linux-i686-2.6/matplotlib copying lib/matplotlib/widgets.py -> build/lib.linux-i686-2.6/matplotlib copying lib/matplotlib/rcsetup.py -> build/lib.linux-i686-2.6/matplotlib copying lib/matplotlib/gridspec.py -> build/lib.linux-i686-2.6/matplotlib copying lib/matplotlib/legend.py -> build/lib.linux-i686-2.6/matplotlib copying lib/matplotlib/textpath.py -> build/lib.linux-i686-2.6/matplotlib copying lib/matplotlib/colors.py -> build/lib.linux-i686-2.6/matplotlib copying lib/matplotlib/collections.py -> build/lib.linux-i686-2.6/matplotlib copying lib/matplotlib/patches.py -> build/lib.linux-i686-2.6/matplotlib copying lib/matplotlib/dates.py -> build/lib.linux-i686-2.6/matplotlib copying lib/matplotlib/blocking_input.py -> build/lib.linux-i686-2.6/matplotlib copying lib/matplotlib/_pylab_helpers.py -> build/lib.linux-i686-2.6/matplotlib copying lib/matplotlib/type1font.py -> build/lib.linux-i686-2.6/matplotlib copying lib/matplotlib/patheffects.py -> build/lib.linux-i686-2.6/matplotlib copying lib/matplotlib/_mathtext_data.py -> build/lib.linux-i686-2.6/matplotlib copying lib/matplotlib/lines.py -> build/lib.linux-i686-2.6/matplotlib copying lib/matplotlib/spines.py -> build/lib.linux-i686-2.6/matplotlib copying lib/matplotlib/table.py -> build/lib.linux-i686-2.6/matplotlib copying lib/matplotlib/artist.py -> build/lib.linux-i686-2.6/matplotlib copying lib/matplotlib/image.py -> build/lib.linux-i686-2.6/matplotlib copying lib/matplotlib/afm.py -> build/lib.linux-i686-2.6/matplotlib copying lib/matplotlib/text.py -> build/lib.linux-i686-2.6/matplotlib copying lib/matplotlib/figure.py -> build/lib.linux-i686-2.6/matplotlib copying lib/matplotlib/colorbar.py -> build/lib.linux-i686-2.6/matplotlib copying lib/matplotlib/mlab.py -> build/lib.linux-i686-2.6/matplotlib copying lib/matplotlib/backend_bases.py -> build/lib.linux-i686-2.6/matplotlib copying lib/matplotlib/contour.py -> build/lib.linux-i686-2.6/matplotlib copying lib/matplotlib/path.py -> build/lib.linux-i686-2.6/matplotlib copying lib/matplotlib/cbook.py -> build/lib.linux-i686-2.6/matplotlib copying lib/matplotlib/quiver.py -> build/lib.linux-i686-2.6/matplotlib copying lib/matplotlib/transforms.py -> build/lib.linux-i686-2.6/matplotlib copying lib/matplotlib/finance.py -> build/lib.linux-i686-2.6/matplotlib copying lib/matplotlib/bezier.py -> build/lib.linux-i686-2.6/matplotlib creating build/lib.linux-i686-2.6/matplotlib/backends copying lib/matplotlib/backends/windowing.py -> build/lib.linux-i686-2.6/matplotlib/backends copying lib/matplotlib/backends/backend_pdf.py -> build/lib.linux-i686-2.6/matplotlib/backends copying lib/matplotlib/backends/backend_gdk.py -> build/lib.linux-i686-2.6/matplotlib/backends copying lib/matplotlib/backends/__init__.py -> build/lib.linux-i686-2.6/matplotlib/backends copying lib/matplotlib/backends/tkagg.py -> build/lib.linux-i686-2.6/matplotlib/backends copying lib/matplotlib/backends/backend_svg.py -> build/lib.linux-i686-2.6/matplotlib/backends copying lib/matplotlib/backends/backend_qt.py -> build/lib.linux-i686-2.6/matplotlib/backends copying lib/matplotlib/backends/backend_emf.py -> build/lib.linux-i686-2.6/matplotlib/backends copying lib/matplotlib/backends/backend_mixed.py -> build/lib.linux-i686-2.6/matplotlib/backends copying lib/matplotlib/backends/backend_gtk.py -> build/lib.linux-i686-2.6/matplotlib/backends copying lib/matplotlib/backends/backend_agg.py -> build/lib.linux-i686-2.6/matplotlib/backends copying lib/matplotlib/backends/backend_tkagg.py -> build/lib.linux-i686-2.6/matplotlib/backends copying lib/matplotlib/backends/backend_qt4.py -> build/lib.linux-i686-2.6/matplotlib/backends copying lib/matplotlib/backends/backend_template.py -> build/lib.linux-i686-2.6/matplotlib/backends copying lib/matplotlib/backends/backend_cairo.py -> build/lib.linux-i686-2.6/matplotlib/backends copying lib/matplotlib/backends/backend_fltkagg.py -> build/lib.linux-i686-2.6/matplotlib/backends copying lib/matplotlib/backends/backend_wxagg.py -> build/lib.linux-i686-2.6/matplotlib/backends copying lib/matplotlib/backends/backend_gtkcairo.py -> build/lib.linux-i686-2.6/matplotlib/backends copying lib/matplotlib/backends/backend_macosx.py -> build/lib.linux-i686-2.6/matplotlib/backends copying lib/matplotlib/backends/backend_wx.py -> build/lib.linux-i686-2.6/matplotlib/backends copying lib/matplotlib/backends/backend_gtkagg.py -> build/lib.linux-i686-2.6/matplotlib/backends copying lib/matplotlib/backends/backend_qt4agg.py -> build/lib.linux-i686-2.6/matplotlib/backends copying lib/matplotlib/backends/backend_qtagg.py -> build/lib.linux-i686-2.6/matplotlib/backends copying lib/matplotlib/backends/backend_ps.py -> build/lib.linux-i686-2.6/matplotlib/backends copying lib/matplotlib/backends/backend_cocoaagg.py -> build/lib.linux-i686-2.6/matplotlib/backends creating build/lib.linux-i686-2.6/matplotlib/backends/qt4_editor copying lib/matplotlib/backends/qt4_editor/formlayout.py -> build/lib.linux-i686-2.6/matplotlib/backends/qt4_editor copying lib/matplotlib/backends/qt4_editor/__init__.py -> build/lib.linux-i686-2.6/matplotlib/backends/qt4_editor copying lib/matplotlib/backends/qt4_editor/figureoptions.py -> build/lib.linux-i686-2.6/matplotlib/backends/qt4_editor creating build/lib.linux-i686-2.6/matplotlib/projections copying lib/matplotlib/projections/polar.py -> build/lib.linux-i686-2.6/matplotlib/projections copying lib/matplotlib/projections/__init__.py -> build/lib.linux-i686-2.6/matplotlib/projections copying lib/matplotlib/projections/geo.py -> build/lib.linux-i686-2.6/matplotlib/projections creating build/lib.linux-i686-2.6/matplotlib/testing copying lib/matplotlib/testing/decorators.py -> build/lib.linux-i686-2.6/matplotlib/testing copying lib/matplotlib/testing/__init__.py -> build/lib.linux-i686-2.6/matplotlib/testing copying lib/matplotlib/testing/compare.py -> build/lib.linux-i686-2.6/matplotlib/testing copying lib/matplotlib/testing/noseclasses.py -> build/lib.linux-i686-2.6/matplotlib/testing creating build/lib.linux-i686-2.6/matplotlib/testing/jpl_units copying lib/matplotlib/testing/jpl_units/Epoch.py -> build/lib.linux-i686-2.6/matplotlib/testing/jpl_units copying lib/matplotlib/testing/jpl_units/UnitDblConverter.py -> build/lib.linux-i686-2.6/matplotlib/testing/jpl_units copying lib/matplotlib/testing/jpl_units/__init__.py -> build/lib.linux-i686-2.6/matplotlib/testing/jpl_units copying lib/matplotlib/testing/jpl_units/Duration.py -> build/lib.linux-i686-2.6/matplotlib/testing/jpl_units copying lib/matplotlib/testing/jpl_units/EpochConverter.py -> build/lib.linux-i686-2.6/matplotlib/testing/jpl_units copying lib/matplotlib/testing/jpl_units/StrConverter.py -> build/lib.linux-i686-2.6/matplotlib/testing/jpl_units copying lib/matplotlib/testing/jpl_units/UnitDblFormatter.py -> build/lib.linux-i686-2.6/matplotlib/testing/jpl_units copying lib/matplotlib/testing/jpl_units/UnitDbl.py -> build/lib.linux-i686-2.6/matplotlib/testing/jpl_units creating build/lib.linux-i686-2.6/matplotlib/tests copying lib/matplotlib/tests/test_simplification.py -> build/lib.linux-i686-2.6/matplotlib/tests copying lib/matplotlib/tests/test_transforms.py -> build/lib.linux-i686-2.6/matplotlib/tests copying lib/matplotlib/tests/test_spines.py -> build/lib.linux-i686-2.6/matplotlib/tests copying lib/matplotlib/tests/__init__.py -> build/lib.linux-i686-2.6/matplotlib/tests copying lib/matplotlib/tests/test_agg.py -> build/lib.linux-i686-2.6/matplotlib/tests copying lib/matplotlib/tests/test_mlab.py -> build/lib.linux-i686-2.6/matplotlib/tests copying lib/matplotlib/tests/test_cbook.py -> build/lib.linux-i686-2.6/matplotlib/tests copying lib/matplotlib/tests/test_axes.py -> build/lib.linux-i686-2.6/matplotlib/tests copying lib/matplotlib/tests/test_backend_svg.py -> build/lib.linux-i686-2.6/matplotlib/tests copying lib/matplotlib/tests/test_text.py -> build/lib.linux-i686-2.6/matplotlib/tests copying lib/matplotlib/tests/test_mathtext.py -> build/lib.linux-i686-2.6/matplotlib/tests copying lib/matplotlib/tests/test_image.py -> build/lib.linux-i686-2.6/matplotlib/tests copying lib/matplotlib/tests/test_basic.py -> build/lib.linux-i686-2.6/matplotlib/tests copying lib/matplotlib/tests/test_dates.py -> build/lib.linux-i686-2.6/matplotlib/tests creating build/lib.linux-i686-2.6/mpl_toolkits copying lib/mpl_toolkits/gtktools.py -> build/lib.linux-i686-2.6/mpl_toolkits copying lib/mpl_toolkits/__init__.py -> build/lib.linux-i686-2.6/mpl_toolkits copying lib/mpl_toolkits/exceltools.py -> build/lib.linux-i686-2.6/mpl_toolkits creating build/lib.linux-i686-2.6/mpl_toolkits/mplot3d copying lib/mpl_toolkits/mplot3d/proj3d.py -> build/lib.linux-i686-2.6/mpl_toolkits/mplot3d copying lib/mpl_toolkits/mplot3d/__init__.py -> build/lib.linux-i686-2.6/mpl_toolkits/mplot3d copying lib/mpl_toolkits/mplot3d/axis3d.py -> build/lib.linux-i686-2.6/mpl_toolkits/mplot3d copying lib/mpl_toolkits/mplot3d/axes3d.py -> build/lib.linux-i686-2.6/mpl_toolkits/mplot3d copying lib/mpl_toolkits/mplot3d/art3d.py -> build/lib.linux-i686-2.6/mpl_toolkits/mplot3d creating build/lib.linux-i686-2.6/mpl_toolkits/axes_grid copying lib/mpl_toolkits/axes_grid/clip_path.py -> build/lib.linux-i686-2.6/mpl_toolkits/axes_grid copying lib/mpl_toolkits/axes_grid/axes_grid.py -> build/lib.linux-i686-2.6/mpl_toolkits/axes_grid copying lib/mpl_toolkits/axes_grid/axis_artist.py -> build/lib.linux-i686-2.6/mpl_toolkits/axes_grid copying lib/mpl_toolkits/axes_grid/axes_divider.py -> build/lib.linux-i686-2.6/mpl_toolkits/axes_grid copying lib/mpl_toolkits/axes_grid/__init__.py -> build/lib.linux-i686-2.6/mpl_toolkits/axes_grid copying lib/mpl_toolkits/axes_grid/axes_rgb.py -> build/lib.linux-i686-2.6/mpl_toolkits/axes_grid copying lib/mpl_toolkits/axes_grid/grid_finder.py -> build/lib.linux-i686-2.6/mpl_toolkits/axes_grid copying lib/mpl_toolkits/axes_grid/anchored_artists.py -> build/lib.linux-i686-2.6/mpl_toolkits/axes_grid copying lib/mpl_toolkits/axes_grid/parasite_axes.py -> build/lib.linux-i686-2.6/mpl_toolkits/axes_grid copying lib/mpl_toolkits/axes_grid/angle_helper.py -> build/lib.linux-i686-2.6/mpl_toolkits/axes_grid copying lib/mpl_toolkits/axes_grid/grid_helper_curvelinear.py -> build/lib.linux-i686-2.6/mpl_toolkits/axes_grid copying lib/mpl_toolkits/axes_grid/axislines.py -> build/lib.linux-i686-2.6/mpl_toolkits/axes_grid copying lib/mpl_toolkits/axes_grid/colorbar.py -> build/lib.linux-i686-2.6/mpl_toolkits/axes_grid copying lib/mpl_toolkits/axes_grid/axisline_style.py -> build/lib.linux-i686-2.6/mpl_toolkits/axes_grid copying lib/mpl_toolkits/axes_grid/axes_size.py -> build/lib.linux-i686-2.6/mpl_toolkits/axes_grid copying lib/mpl_toolkits/axes_grid/inset_locator.py -> build/lib.linux-i686-2.6/mpl_toolkits/axes_grid copying lib/mpl_toolkits/axes_grid/floating_axes.py -> build/lib.linux-i686-2.6/mpl_toolkits/axes_grid creating build/lib.linux-i686-2.6/mpl_toolkits/axes_grid1 copying lib/mpl_toolkits/axes_grid1/axes_grid.py -> build/lib.linux-i686-2.6/mpl_toolkits/axes_grid1 copying lib/mpl_toolkits/axes_grid1/axes_divider.py -> build/lib.linux-i686-2.6/mpl_toolkits/axes_grid1 copying lib/mpl_toolkits/axes_grid1/__init__.py -> build/lib.linux-i686-2.6/mpl_toolkits/axes_grid1 copying lib/mpl_toolkits/axes_grid1/mpl_axes.py -> build/lib.linux-i686-2.6/mpl_toolkits/axes_grid1 copying lib/mpl_toolkits/axes_grid1/axes_rgb.py -> build/lib.linux-i686-2.6/mpl_toolkits/axes_grid1 copying lib/mpl_toolkits/axes_grid1/anchored_artists.py -> build/lib.linux-i686-2.6/mpl_toolkits/axes_grid1 copying lib/mpl_toolkits/axes_grid1/parasite_axes.py -> build/lib.linux-i686-2.6/mpl_toolkits/axes_grid1 copying lib/mpl_toolkits/axes_grid1/colorbar.py -> build/lib.linux-i686-2.6/mpl_toolkits/axes_grid1 copying lib/mpl_toolkits/axes_grid1/axes_size.py -> build/lib.linux-i686-2.6/mpl_toolkits/axes_grid1 copying lib/mpl_toolkits/axes_grid1/inset_locator.py -> build/lib.linux-i686-2.6/mpl_toolkits/axes_grid1 creating build/lib.linux-i686-2.6/mpl_toolkits/axisartist copying lib/mpl_toolkits/axisartist/clip_path.py -> build/lib.linux-i686-2.6/mpl_toolkits/axisartist copying lib/mpl_toolkits/axisartist/axis_artist.py -> build/lib.linux-i686-2.6/mpl_toolkits/axisartist copying lib/mpl_toolkits/axisartist/__init__.py -> build/lib.linux-i686-2.6/mpl_toolkits/axisartist copying lib/mpl_toolkits/axisartist/grid_finder.py -> build/lib.linux-i686-2.6/mpl_toolkits/axisartist copying lib/mpl_toolkits/axisartist/angle_helper.py -> build/lib.linux-i686-2.6/mpl_toolkits/axisartist copying lib/mpl_toolkits/axisartist/grid_helper_curvelinear.py -> build/lib.linux-i686-2.6/mpl_toolkits/axisartist copying lib/mpl_toolkits/axisartist/axislines.py -> build/lib.linux-i686-2.6/mpl_toolkits/axisartist copying lib/mpl_toolkits/axisartist/axisline_style.py -> build/lib.linux-i686-2.6/mpl_toolkits/axisartist copying lib/mpl_toolkits/axisartist/floating_axes.py -> build/lib.linux-i686-2.6/mpl_toolkits/axisartist creating build/lib.linux-i686-2.6/matplotlib/sphinxext copying lib/matplotlib/sphinxext/ipython_console_highlighting.py -> build/lib.linux-i686-2.6/matplotlib/sphinxext copying lib/matplotlib/sphinxext/__init__.py -> build/lib.linux-i686-2.6/matplotlib/sphinxext copying lib/matplotlib/sphinxext/only_directives.py -> build/lib.linux-i686-2.6/matplotlib/sphinxext copying lib/matplotlib/sphinxext/mathmpl.py -> build/lib.linux-i686-2.6/matplotlib/sphinxext copying lib/matplotlib/sphinxext/plot_directive.py -> build/lib.linux-i686-2.6/matplotlib/sphinxext creating build/lib.linux-i686-2.6/matplotlib/numerix copying lib/matplotlib/numerix/__init__.py -> build/lib.linux-i686-2.6/matplotlib/numerix copying lib/matplotlib/numerix/_sp_imports.py -> build/lib.linux-i686-2.6/matplotlib/numerix creating build/lib.linux-i686-2.6/matplotlib/numerix/mlab copying lib/matplotlib/numerix/mlab/__init__.py -> build/lib.linux-i686-2.6/matplotlib/numerix/mlab creating build/lib.linux-i686-2.6/matplotlib/numerix/ma copying lib/matplotlib/numerix/ma/__init__.py -> build/lib.linux-i686-2.6/matplotlib/numerix/ma creating build/lib.linux-i686-2.6/matplotlib/numerix/linear_algebra copying lib/matplotlib/numerix/linear_algebra/__init__.py -> build/lib.linux-i686-2.6/matplotlib/numerix/linear_algebra creating build/lib.linux-i686-2.6/matplotlib/numerix/random_array copying lib/matplotlib/numerix/random_array/__init__.py -> build/lib.linux-i686-2.6/matplotlib/numerix/random_array creating build/lib.linux-i686-2.6/matplotlib/numerix/fft copying lib/matplotlib/numerix/fft/__init__.py -> build/lib.linux-i686-2.6/matplotlib/numerix/fft creating build/lib.linux-i686-2.6/matplotlib/tri copying lib/matplotlib/tri/tricontour.py -> build/lib.linux-i686-2.6/matplotlib/tri copying lib/matplotlib/tri/__init__.py -> build/lib.linux-i686-2.6/matplotlib/tri copying lib/matplotlib/tri/triplot.py -> build/lib.linux-i686-2.6/matplotlib/tri copying lib/matplotlib/tri/triangulation.py -> build/lib.linux-i686-2.6/matplotlib/tri copying lib/matplotlib/tri/tripcolor.py -> build/lib.linux-i686-2.6/matplotlib/tri creating build/lib.linux-i686-2.6/matplotlib/delaunay copying lib/matplotlib/delaunay/__init__.py -> build/lib.linux-i686-2.6/matplotlib/delaunay copying lib/matplotlib/delaunay/testfuncs.py -> build/lib.linux-i686-2.6/matplotlib/delaunay copying lib/matplotlib/delaunay/triangulate.py -> build/lib.linux-i686-2.6/matplotlib/delaunay copying lib/matplotlib/delaunay/interpolate.py -> build/lib.linux-i686-2.6/matplotlib/delaunay creating build/lib.linux-i686-2.6/matplotlib/mpl-data creating build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts creating build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/afm copying lib/matplotlib/mpl-data/fonts/afm/psyr.afm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/afm copying lib/matplotlib/mpl-data/fonts/afm/pagko8a.afm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/afm copying lib/matplotlib/mpl-data/fonts/afm/pncb8a.afm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/afm copying lib/matplotlib/mpl-data/fonts/afm/pplr8a.afm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/afm copying lib/matplotlib/mpl-data/fonts/afm/pplri8a.afm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/afm copying lib/matplotlib/mpl-data/fonts/afm/pcrbo8a.afm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/afm copying lib/matplotlib/mpl-data/fonts/afm/pbkdi8a.afm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/afm copying lib/matplotlib/mpl-data/fonts/afm/pplb8a.afm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/afm copying lib/matplotlib/mpl-data/fonts/afm/cmex10.afm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/afm copying lib/matplotlib/mpl-data/fonts/afm/pncri8a.afm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/afm copying lib/matplotlib/mpl-data/fonts/afm/putbi8a.afm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/afm copying lib/matplotlib/mpl-data/fonts/afm/pbkd8a.afm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/afm copying lib/matplotlib/mpl-data/fonts/afm/pncr8a.afm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/afm copying lib/matplotlib/mpl-data/fonts/afm/cmr10.afm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/afm copying lib/matplotlib/mpl-data/fonts/afm/pncbi8a.afm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/afm copying lib/matplotlib/mpl-data/fonts/afm/putr8a.afm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/afm copying lib/matplotlib/mpl-data/fonts/afm/pcrro8a.afm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/afm copying lib/matplotlib/mpl-data/fonts/afm/phvro8a.afm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/afm copying lib/matplotlib/mpl-data/fonts/afm/ptmri8a.afm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/afm copying lib/matplotlib/mpl-data/fonts/afm/pagk8a.afm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/afm copying lib/matplotlib/mpl-data/fonts/afm/ptmbi8a.afm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/afm copying lib/matplotlib/mpl-data/fonts/afm/phvb8a.afm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/afm copying lib/matplotlib/mpl-data/fonts/afm/phvb8an.afm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/afm copying lib/matplotlib/mpl-data/fonts/afm/pbkli8a.afm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/afm copying lib/matplotlib/mpl-data/fonts/afm/pplbi8a.afm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/afm copying lib/matplotlib/mpl-data/fonts/afm/cmsy10.afm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/afm copying lib/matplotlib/mpl-data/fonts/afm/pbkl8a.afm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/afm copying lib/matplotlib/mpl-data/fonts/afm/pcrr8a.afm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/afm copying lib/matplotlib/mpl-data/fonts/afm/putb8a.afm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/afm copying lib/matplotlib/mpl-data/fonts/afm/ptmb8a.afm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/afm copying lib/matplotlib/mpl-data/fonts/afm/pcrb8a.afm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/afm copying lib/matplotlib/mpl-data/fonts/afm/putri8a.afm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/afm copying lib/matplotlib/mpl-data/fonts/afm/phvr8an.afm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/afm copying lib/matplotlib/mpl-data/fonts/afm/pagd8a.afm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/afm copying lib/matplotlib/mpl-data/fonts/afm/phvbo8a.afm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/afm copying lib/matplotlib/mpl-data/fonts/afm/pzdr.afm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/afm copying lib/matplotlib/mpl-data/fonts/afm/pzcmi8a.afm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/afm copying lib/matplotlib/mpl-data/fonts/afm/phvr8a.afm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/afm copying lib/matplotlib/mpl-data/fonts/afm/pagdo8a.afm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/afm copying lib/matplotlib/mpl-data/fonts/afm/cmtt10.afm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/afm copying lib/matplotlib/mpl-data/fonts/afm/phvlo8a.afm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/afm copying lib/matplotlib/mpl-data/fonts/afm/phvro8an.afm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/afm copying lib/matplotlib/mpl-data/fonts/afm/ptmr8a.afm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/afm copying lib/matplotlib/mpl-data/fonts/afm/phvbo8an.afm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/afm copying lib/matplotlib/mpl-data/fonts/afm/cmmi10.afm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/afm copying lib/matplotlib/mpl-data/fonts/afm/phvl8a.afm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/afm creating build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/pdfcorefonts copying lib/matplotlib/mpl-data/fonts/pdfcorefonts/Courier-Bold.afm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/pdfcorefonts copying lib/matplotlib/mpl-data/fonts/pdfcorefonts/Helvetica-Bold.afm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/pdfcorefonts copying lib/matplotlib/mpl-data/fonts/pdfcorefonts/Helvetica-BoldOblique.afm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/pdfcorefonts copying lib/matplotlib/mpl-data/fonts/pdfcorefonts/Helvetica-Oblique.afm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/pdfcorefonts copying lib/matplotlib/mpl-data/fonts/pdfcorefonts/Helvetica.afm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/pdfcorefonts copying lib/matplotlib/mpl-data/fonts/pdfcorefonts/Times-Bold.afm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/pdfcorefonts copying lib/matplotlib/mpl-data/fonts/pdfcorefonts/Times-Roman.afm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/pdfcorefonts copying lib/matplotlib/mpl-data/fonts/pdfcorefonts/Courier-Oblique.afm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/pdfcorefonts copying lib/matplotlib/mpl-data/fonts/pdfcorefonts/Courier.afm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/pdfcorefonts copying lib/matplotlib/mpl-data/fonts/pdfcorefonts/Times-BoldItalic.afm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/pdfcorefonts copying lib/matplotlib/mpl-data/fonts/pdfcorefonts/Times-Italic.afm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/pdfcorefonts copying lib/matplotlib/mpl-data/fonts/pdfcorefonts/Symbol.afm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/pdfcorefonts copying lib/matplotlib/mpl-data/fonts/pdfcorefonts/ZapfDingbats.afm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/pdfcorefonts copying lib/matplotlib/mpl-data/fonts/pdfcorefonts/Courier-BoldOblique.afm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/pdfcorefonts copying lib/matplotlib/mpl-data/fonts/pdfcorefonts/readme.txt -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/pdfcorefonts creating build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/ttf copying lib/matplotlib/mpl-data/fonts/ttf/STIXNonUniBolIta.ttf -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/ttf copying lib/matplotlib/mpl-data/fonts/ttf/STIXSizThreeSymReg.ttf -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/ttf copying lib/matplotlib/mpl-data/fonts/ttf/STIXSizTwoSymBol.ttf -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/ttf copying lib/matplotlib/mpl-data/fonts/ttf/cmsy10.ttf -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/ttf copying lib/matplotlib/mpl-data/fonts/ttf/STIXSizTwoSymReg.ttf -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/ttf copying lib/matplotlib/mpl-data/fonts/ttf/VeraMoBd.ttf -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/ttf copying lib/matplotlib/mpl-data/fonts/ttf/STIXNonUni.ttf -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/ttf copying lib/matplotlib/mpl-data/fonts/ttf/cmtt10.ttf -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/ttf copying lib/matplotlib/mpl-data/fonts/ttf/STIXSizOneSymBol.ttf -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/ttf copying lib/matplotlib/mpl-data/fonts/ttf/VeraSe.ttf -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/ttf copying lib/matplotlib/mpl-data/fonts/ttf/VeraIt.ttf -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/ttf copying lib/matplotlib/mpl-data/fonts/ttf/STIXNonUniBol.ttf -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/ttf copying lib/matplotlib/mpl-data/fonts/ttf/cmb10.ttf -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/ttf copying lib/matplotlib/mpl-data/fonts/ttf/VeraMono.ttf -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/ttf copying lib/matplotlib/mpl-data/fonts/ttf/STIXGeneralBol.ttf -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/ttf copying lib/matplotlib/mpl-data/fonts/ttf/VeraMoIt.ttf -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/ttf copying lib/matplotlib/mpl-data/fonts/ttf/VeraBd.ttf -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/ttf copying lib/matplotlib/mpl-data/fonts/ttf/STIXSizFourSymReg.ttf -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/ttf copying lib/matplotlib/mpl-data/fonts/ttf/cmss10.ttf -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/ttf copying lib/matplotlib/mpl-data/fonts/ttf/VeraBI.ttf -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/ttf copying lib/matplotlib/mpl-data/fonts/ttf/STIXGeneralItalic.ttf -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/ttf copying lib/matplotlib/mpl-data/fonts/ttf/cmex10.ttf -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/ttf copying lib/matplotlib/mpl-data/fonts/ttf/cmr10.ttf -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/ttf copying lib/matplotlib/mpl-data/fonts/ttf/VeraSeBd.ttf -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/ttf copying lib/matplotlib/mpl-data/fonts/ttf/STIXSizFourSymBol.ttf -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/ttf copying lib/matplotlib/mpl-data/fonts/ttf/STIXNonUniIta.ttf -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/ttf copying lib/matplotlib/mpl-data/fonts/ttf/STIXGeneralBolIta.ttf -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/ttf copying lib/matplotlib/mpl-data/fonts/ttf/Vera.ttf -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/ttf copying lib/matplotlib/mpl-data/fonts/ttf/STIXGeneral.ttf -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/ttf copying lib/matplotlib/mpl-data/fonts/ttf/STIXSizFiveSymReg.ttf -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/ttf copying lib/matplotlib/mpl-data/fonts/ttf/cmmi10.ttf -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/ttf copying lib/matplotlib/mpl-data/fonts/ttf/STIXSizThreeSymBol.ttf -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/ttf copying lib/matplotlib/mpl-data/fonts/ttf/STIXSizOneSymReg.ttf -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/ttf copying lib/matplotlib/mpl-data/fonts/ttf/VeraMoBI.ttf -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/ttf copying lib/matplotlib/mpl-data/fonts/ttf/LICENSE_STIX -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/ttf copying lib/matplotlib/mpl-data/fonts/ttf/COPYRIGHT.TXT -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/ttf copying lib/matplotlib/mpl-data/fonts/ttf/README.TXT -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/ttf copying lib/matplotlib/mpl-data/fonts/ttf/RELEASENOTES.TXT -> build/lib.linux-i686-2.6/matplotlib/mpl-data/fonts/ttf creating build/lib.linux-i686-2.6/matplotlib/mpl-data/images copying lib/matplotlib/mpl-data/images/back.xpm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/images copying lib/matplotlib/mpl-data/images/subplots.xpm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/images copying lib/matplotlib/mpl-data/images/stock_save_as.xpm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/images copying lib/matplotlib/mpl-data/images/filesave.xpm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/images copying lib/matplotlib/mpl-data/images/forward.xpm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/images copying lib/matplotlib/mpl-data/images/stock_zoom-out.xpm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/images copying lib/matplotlib/mpl-data/images/home.xpm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/images copying lib/matplotlib/mpl-data/images/stock_down.xpm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/images copying lib/matplotlib/mpl-data/images/stock_right.xpm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/images copying lib/matplotlib/mpl-data/images/move.xpm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/images copying lib/matplotlib/mpl-data/images/stock_left.xpm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/images copying lib/matplotlib/mpl-data/images/stock_up.xpm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/images copying lib/matplotlib/mpl-data/images/stock_zoom-in.xpm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/images copying lib/matplotlib/mpl-data/images/stock_close.xpm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/images copying lib/matplotlib/mpl-data/images/zoom_to_rect.xpm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/images copying lib/matplotlib/mpl-data/images/hand.xpm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/images copying lib/matplotlib/mpl-data/images/stock_refresh.xpm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/images copying lib/matplotlib/mpl-data/images/zoom_to_rect.svg -> build/lib.linux-i686-2.6/matplotlib/mpl-data/images copying lib/matplotlib/mpl-data/images/filesave.svg -> build/lib.linux-i686-2.6/matplotlib/mpl-data/images copying lib/matplotlib/mpl-data/images/home.svg -> build/lib.linux-i686-2.6/matplotlib/mpl-data/images copying lib/matplotlib/mpl-data/images/hand.svg -> build/lib.linux-i686-2.6/matplotlib/mpl-data/images copying lib/matplotlib/mpl-data/images/move.svg -> build/lib.linux-i686-2.6/matplotlib/mpl-data/images copying lib/matplotlib/mpl-data/images/forward.svg -> build/lib.linux-i686-2.6/matplotlib/mpl-data/images copying lib/matplotlib/mpl-data/images/qt4_editor_options.svg -> build/lib.linux-i686-2.6/matplotlib/mpl-data/images copying lib/matplotlib/mpl-data/images/matplotlib.svg -> build/lib.linux-i686-2.6/matplotlib/mpl-data/images copying lib/matplotlib/mpl-data/images/back.svg -> build/lib.linux-i686-2.6/matplotlib/mpl-data/images copying lib/matplotlib/mpl-data/images/filesave.png -> build/lib.linux-i686-2.6/matplotlib/mpl-data/images copying lib/matplotlib/mpl-data/images/back.png -> build/lib.linux-i686-2.6/matplotlib/mpl-data/images copying lib/matplotlib/mpl-data/images/move.png -> build/lib.linux-i686-2.6/matplotlib/mpl-data/images copying lib/matplotlib/mpl-data/images/forward.png -> build/lib.linux-i686-2.6/matplotlib/mpl-data/images copying lib/matplotlib/mpl-data/images/home.png -> build/lib.linux-i686-2.6/matplotlib/mpl-data/images copying lib/matplotlib/mpl-data/images/hand.png -> build/lib.linux-i686-2.6/matplotlib/mpl-data/images copying lib/matplotlib/mpl-data/images/zoom_to_rect.png -> build/lib.linux-i686-2.6/matplotlib/mpl-data/images copying lib/matplotlib/mpl-data/images/subplots.png -> build/lib.linux-i686-2.6/matplotlib/mpl-data/images copying lib/matplotlib/mpl-data/images/matplotlib.png -> build/lib.linux-i686-2.6/matplotlib/mpl-data/images copying lib/matplotlib/mpl-data/images/hand.ppm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/images copying lib/matplotlib/mpl-data/images/subplots.ppm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/images copying lib/matplotlib/mpl-data/images/stock_left.ppm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/images copying lib/matplotlib/mpl-data/images/stock_up.ppm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/images copying lib/matplotlib/mpl-data/images/filesave.ppm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/images copying lib/matplotlib/mpl-data/images/stock_close.ppm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/images copying lib/matplotlib/mpl-data/images/forward.ppm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/images copying lib/matplotlib/mpl-data/images/stock_down.ppm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/images copying lib/matplotlib/mpl-data/images/stock_zoom-out.ppm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/images copying lib/matplotlib/mpl-data/images/home.ppm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/images copying lib/matplotlib/mpl-data/images/stock_zoom-in.ppm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/images copying lib/matplotlib/mpl-data/images/zoom_to_rect.ppm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/images copying lib/matplotlib/mpl-data/images/stock_refresh.ppm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/images copying lib/matplotlib/mpl-data/images/move.ppm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/images copying lib/matplotlib/mpl-data/images/back.ppm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/images copying lib/matplotlib/mpl-data/images/stock_save_as.ppm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/images copying lib/matplotlib/mpl-data/images/stock_right.ppm -> build/lib.linux-i686-2.6/matplotlib/mpl-data/images copying lib/matplotlib/mpl-data/matplotlibrc -> build/lib.linux-i686-2.6/matplotlib/mpl-data copying lib/matplotlib/mpl-data/matplotlib.conf -> build/lib.linux-i686-2.6/matplotlib/mpl-data copying lib/matplotlib/mpl-data/lineprops.glade -> build/lib.linux-i686-2.6/matplotlib/mpl-data creating build/lib.linux-i686-2.6/matplotlib/backends/Matplotlib.nib copying lib/matplotlib/backends/Matplotlib.nib/keyedobjects.nib -> build/lib.linux-i686-2.6/matplotlib/backends/Matplotlib.nib copying lib/matplotlib/backends/Matplotlib.nib/classes.nib -> build/lib.linux-i686-2.6/matplotlib/backends/Matplotlib.nib copying lib/matplotlib/backends/Matplotlib.nib/info.nib -> build/lib.linux-i686-2.6/matplotlib/backends/Matplotlib.nib creating build/lib.linux-i686-2.6/matplotlib/tests/baseline_images creating build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_text copying lib/matplotlib/tests/baseline_images/test_text/font_styles.png -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_text copying lib/matplotlib/tests/baseline_images/test_text/font_styles.svg -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_text copying lib/matplotlib/tests/baseline_images/test_text/multiline.pdf -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_text copying lib/matplotlib/tests/baseline_images/test_text/multiline.svg -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_text copying lib/matplotlib/tests/baseline_images/test_text/multiline.png -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_text copying lib/matplotlib/tests/baseline_images/test_text/font_styles.pdf -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_text creating build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_dates copying lib/matplotlib/tests/baseline_images/test_dates/date_axvspan.png -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_dates copying lib/matplotlib/tests/baseline_images/test_dates/date_axvspan.pdf -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_dates copying lib/matplotlib/tests/baseline_images/test_dates/date_empty.svg -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_dates copying lib/matplotlib/tests/baseline_images/test_dates/RRuleLocator_bounds.png -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_dates copying lib/matplotlib/tests/baseline_images/test_dates/date_axhline.pdf -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_dates copying lib/matplotlib/tests/baseline_images/test_dates/date_axhspan.pdf -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_dates copying lib/matplotlib/tests/baseline_images/test_dates/DateFormatter_fractionalSeconds.svg -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_dates copying lib/matplotlib/tests/baseline_images/test_dates/date_axvspan.svg -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_dates copying lib/matplotlib/tests/baseline_images/test_dates/date_axhspan.svg -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_dates copying lib/matplotlib/tests/baseline_images/test_dates/date_axhline.png -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_dates copying lib/matplotlib/tests/baseline_images/test_dates/RRuleLocator_bounds.pdf -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_dates copying lib/matplotlib/tests/baseline_images/test_dates/DateFormatter_fractionalSeconds.pdf -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_dates copying lib/matplotlib/tests/baseline_images/test_dates/RRuleLocator_bounds.svg -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_dates copying lib/matplotlib/tests/baseline_images/test_dates/date_axhspan.png -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_dates copying lib/matplotlib/tests/baseline_images/test_dates/date_axvline.svg -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_dates copying lib/matplotlib/tests/baseline_images/test_dates/date_axvline.pdf -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_dates copying lib/matplotlib/tests/baseline_images/test_dates/date_empty.png -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_dates copying lib/matplotlib/tests/baseline_images/test_dates/date_empty.pdf -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_dates copying lib/matplotlib/tests/baseline_images/test_dates/date_axvline.png -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_dates copying lib/matplotlib/tests/baseline_images/test_dates/DateFormatter_fractionalSeconds.png -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_dates copying lib/matplotlib/tests/baseline_images/test_dates/date_axhline.svg -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_dates creating build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_spines copying lib/matplotlib/tests/baseline_images/test_spines/spines_axes_positions.pdf -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_spines copying lib/matplotlib/tests/baseline_images/test_spines/spines_axes_positions.png -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_spines copying lib/matplotlib/tests/baseline_images/test_spines/spines_axes_positions.svg -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_spines creating build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_simplification copying lib/matplotlib/tests/baseline_images/test_simplification/clipper_edge.png -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_simplification copying lib/matplotlib/tests/baseline_images/test_simplification/clipping_diamond.png -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_simplification copying lib/matplotlib/tests/baseline_images/test_simplification/simplify_curve.svg -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_simplification copying lib/matplotlib/tests/baseline_images/test_simplification/overflow.svg -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_simplification copying lib/matplotlib/tests/baseline_images/test_simplification/clipper_edge.pdf -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_simplification copying lib/matplotlib/tests/baseline_images/test_simplification/clipping.pdf -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_simplification copying lib/matplotlib/tests/baseline_images/test_simplification/hatch_simplify.svg -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_simplification copying lib/matplotlib/tests/baseline_images/test_simplification/clipping_diamond.svg -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_simplification copying lib/matplotlib/tests/baseline_images/test_simplification/clipping.png -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_simplification copying lib/matplotlib/tests/baseline_images/test_simplification/clipping_diamond.pdf -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_simplification copying lib/matplotlib/tests/baseline_images/test_simplification/clipper_edge.svg -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_simplification copying lib/matplotlib/tests/baseline_images/test_simplification/hatch_simplify.pdf -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_simplification copying lib/matplotlib/tests/baseline_images/test_simplification/fft_peaks.pdf -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_simplification copying lib/matplotlib/tests/baseline_images/test_simplification/fft_peaks.png -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_simplification copying lib/matplotlib/tests/baseline_images/test_simplification/overflow.png -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_simplification copying lib/matplotlib/tests/baseline_images/test_simplification/simplify_curve.png -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_simplification copying lib/matplotlib/tests/baseline_images/test_simplification/hatch_simplify.png -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_simplification copying lib/matplotlib/tests/baseline_images/test_simplification/simplify_curve.pdf -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_simplification copying lib/matplotlib/tests/baseline_images/test_simplification/fft_peaks.svg -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_simplification copying lib/matplotlib/tests/baseline_images/test_simplification/overflow.pdf -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_simplification copying lib/matplotlib/tests/baseline_images/test_simplification/clipping.svg -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_simplification creating build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/formatter_ticker_005.svg -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/polar_wrap_180.png -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/single_date.svg -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/fill_between_interpolate.svg -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/polar_axes.png -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/single_point.pdf -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/formatter_ticker_004.svg -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/shaped_data.pdf -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/polar_wrap_180.svg -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/imshow.pdf -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/polar_coords.pdf -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/single_date.png -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/imshow.png -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/offset_points.svg -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/imshow_clip.pdf -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/hexbin_extent.svg -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/polar_units.png -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/nonfinite_limits.png -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/hexbin_extent.pdf -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/polar_wrap_360.svg -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/symlog.svg -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/fill_between_interpolate.pdf -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/single_point.svg -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/formatter_ticker_002.png -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/hexbin_extent.png -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/formatter_ticker_002.pdf -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/nonfinite_limits.svg -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/symlog.pdf -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/shaped_data.png -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/polar_units.pdf -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/formatter_ticker_005.png -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/polar_axes.svg -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/const_xy.pdf -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/fill_units.png -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/polycollection_joinstyle.svg -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/polar_units.svg -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/fill_units.pdf -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/polar_coords.svg -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/axvspan_epoch.svg -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/imshow_clip.svg -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/const_xy.svg -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/polar_rmin.svg -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/formatter_ticker_003.png -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/const_xy.png -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/fill_units.svg -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/formatter_ticker_001.svg -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/formatter_ticker_003.pdf -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/offset_points.pdf -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/polar_rmin.png -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/formatter_ticker_001.png -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/imshow_clip.png -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/polar_wrap_360.png -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/polar_wrap_360.pdf -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/formatter_ticker_004.png -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/polar_wrap_180.pdf -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/axhspan_epoch.svg -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/polar_coords.png -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/axvspan_epoch.pdf -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/offset_points.png -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/formatter_ticker_004.pdf -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/formatter_ticker_002.svg -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/single_point.png -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/polycollection_joinstyle.pdf -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/polar_rmin.pdf -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/axhspan_epoch.pdf -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/axvspan_epoch.png -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/shaped data.svg -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/shaped_data.svg -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/formatter_ticker_001.pdf -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/symlog.png -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/polar_axes.pdf -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/axhspan_epoch.png -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/formatter_ticker_005.pdf -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_images/test_axes copying lib/matplotlib/tests/baseline_images/test_axes/imshow.svg -> build/lib.linux-i686-2.6/matplotlib/tests/baseline_imag... [truncated message content] |
From: John H. <jd...@gm...> - 2010-09-15 17:03:57
|
On Wed, Sep 15, 2010 at 11:31 AM, Benjamin Root <ben...@ou...> wrote: > But, what would the "to_grayscale" method produce? And what about other > possible transformations? Should we add other functions as well to invert, > brighten, darken, etc? > > Maybe another approach would be to have the Colormap class have an attribute > function called "transform" that would, by default, be just a function that > returns the input rgba array. Then, one could assign different > transformation functions that would be used in the __call__ function of the > colormap? to_grayscale would return a colormap instance. If the colormap also had a "darken" or "invert" (if people think this is useful), they could also be colormap methods. Then you could chain imshow(..., cmap=cm.jet.to_grayscale().darken()) KDJ |
From: Benjamin R. <ben...@ou...> - 2010-09-15 16:32:29
|
On Wed, Sep 15, 2010 at 10:44 AM, John Hunter <jd...@gm...> wrote: > On Mon, Sep 13, 2010 at 4:27 PM, Benjamin Root <ben...@ou...> wrote: > > > Just reping-ing this. I haven't heard anything negative and got a few > > positive comments off-list. I haven't committed this yet because I am > > concerned about the implications of my changes to cm.py, colors.py and > > contour.py. However, if I don't hear any concerns over the next couple > of > > days, shall I assume that it is ok to go ahead and commit? > > I haven't looked closely at this yet, but at a glance it feels like a > heavy-weight solution to what should be a simple problem. Can we not > just have a "to_grayscale method of the colormap? Also, I second > Friedrich's concern/question about the ThinWrap approach -- what is > the argument for wrapping vs deriving? > > JDH > But, what would the "to_grayscale" method produce? And what about other possible transformations? Should we add other functions as well to invert, brighten, darken, etc? Maybe another approach would be to have the Colormap class have an attribute function called "transform" that would, by default, be just a function that returns the input rgba array. Then, one could assign different transformation functions that would be used in the __call__ function of the colormap? Maybe that idea is better? Ben Root |
From: Benjamin R. <ben...@ou...> - 2010-09-15 16:27:20
|
On Wed, Sep 15, 2010 at 10:33 AM, Friedrich Romstedt < fri...@gm...> wrote: > 2010/9/13 Benjamin Root <ben...@ou...>: > > On Tue, Aug 31, 2010 at 9:08 PM, Benjamin Root <ben...@ou...> wrote: > >> I have been working on a couple of interesting concoctions for > >> matplotlib. The first is a wrapper class called "ThinWrap" that, > >> essentially, provides a way to create objects that are linked to a given > >> object. These objects can then be subclassed for some very interesting > >> behaviors. Which leads me to my ReMap class. > >> > >> The ReMap class is designed to be a wrapper around a Colormap object, > and > >> the __call__ function is overloaded so that some other defined function > can > >> modify the rgba values that comes from a call to the original colormap > >> object. All of this is done without modifying the original colormap. > In > >> addition, a ReMap object can wrap another ReMap object, allowing for > >> stacking. As an example, I have created a ToGrayscale() ReMap class. > > I must admit that I have serious trouble accepting the need for this > idea. To me, it seems like a not very elegant exploitation of Python > features in a way they aren't intended to be used. > > I agree. I never quite felt "right" about ThinWrap, which is part of my hesitation to include it. > Generally, I think, implementations shouldn't rely on the internals of > the implementation of object orientation, in a case like this, when > they try to expand the features of the object orientation the language > supplies. > > True, this would paint us into a corner if, in the future, python changes how it implements the object orientation internals in such a way that the desired behaviors aren't possible. > I think you cannot speak of "subclassing" when creating a ThinWrap > object around another object? (From your patch, it looks to me like > this.) > > I wasn't exactly sure what is the proper word to use here. You are right, subclassing isn't quite correct. It really is more like a faked inheritance (the ThinWrap object 'inherits' most of the methods and attributes of the object it wraps). > Furthermore, I'd say, this ThinWrap feature is neither specially > needed for matplotlib's usecase, nor is it widely accepted. It is > like an independent package incorporated into matplotlib the hard way. > I think this isn't the way is should be. In that case, it may be a > dependency, which should be handled by easy_install or the user. > > I don't know if I need to go that far. The code itself is really tiny and hardly worth being a package unto itself. Also, it would be hard to place it into the context of the rest of the python ecosystem. This is partly the reason why I thought placing it in cbook would be a good balance. > Benjamin, I believe this code is neat in idea, but not suited well for > Python. I would refrain from checking it in. > > Friedrich > > > P.S.: It seems to me like a forced generalisation of your original > idea of a wrap around the Colormap object. If I would be you, I'd > restrict the usecase to Colormap, and implement a real class, which is > just a WrappedColormap, derived from Colormap, which can do the job by > overloading. > > That's part of the problem, the job really couldn't be done by subclassing. The objective is to be able to convert any Colormap into a Grayscale, so, either I'd have to overload *each* kind of Colormap, and have the user somehow reconstruct their Colormap object, (which isn't trivial if they are using one of the premade colormaps), or create a function that produces a Colormap from an arbitrary Colormap (which assumes that all attributes have been made and that there are no further changes to the Norms or such later, and that later code does not need the subclassed features). Essentially, we are looking at a transform problem rather than a data representation problem. We simply need to intercept the call to __call__ and transform the output accordingly. Everything else should be ignored by ThinWrap and allowed to proceed as it usually would. > Right from the need that you have to circumvent normal isinstance() > checks, which shouldn't be an issue in a clear oo implementation of > your functionality, you can see that your approach is not well suited > in my opinion. > > I have been planning on looking to see if MetaClassing might solve my problem here. But, an argument can be made that we really *shouldn't* be using isinstance() in the first place because python is designed around the idea of duck-typing. > Don't be offended, I have to add. > I think you run into serious problems when trying to find a place for > the class of ThinWrap in the oo model. > I'm not, I really needed someone to do a sanity check for me. Ben Root |
From: John H. <jd...@gm...> - 2010-09-15 15:44:59
|
On Mon, Sep 13, 2010 at 4:27 PM, Benjamin Root <ben...@ou...> wrote: > Just reping-ing this. I haven't heard anything negative and got a few > positive comments off-list. I haven't committed this yet because I am > concerned about the implications of my changes to cm.py, colors.py and > contour.py. However, if I don't hear any concerns over the next couple of > days, shall I assume that it is ok to go ahead and commit? I haven't looked closely at this yet, but at a glance it feels like a heavy-weight solution to what should be a simple problem. Can we not just have a "to_grayscale method of the colormap? Also, I second Friedrich's concern/question about the ThinWrap approach -- what is the argument for wrapping vs deriving? JDH |
From: Friedrich R. <fri...@gm...> - 2010-09-15 15:33:48
|
2010/9/13 Benjamin Root <ben...@ou...>: > On Tue, Aug 31, 2010 at 9:08 PM, Benjamin Root <ben...@ou...> wrote: >> I have been working on a couple of interesting concoctions for >> matplotlib. The first is a wrapper class called "ThinWrap" that, >> essentially, provides a way to create objects that are linked to a given >> object. These objects can then be subclassed for some very interesting >> behaviors. Which leads me to my ReMap class. >> >> The ReMap class is designed to be a wrapper around a Colormap object, and >> the __call__ function is overloaded so that some other defined function can >> modify the rgba values that comes from a call to the original colormap >> object. All of this is done without modifying the original colormap. In >> addition, a ReMap object can wrap another ReMap object, allowing for >> stacking. As an example, I have created a ToGrayscale() ReMap class. I must admit that I have serious trouble accepting the need for this idea. To me, it seems like a not very elegant exploitation of Python features in a way they aren't intended to be used. Generally, I think, implementations shouldn't rely on the internals of the implementation of object orientation, in a case like this, when they try to expand the features of the object orientation the language supplies. I think you cannot speak of "subclassing" when creating a ThinWrap object around another object? (From your patch, it looks to me like this.) Furthermore, I'd say, this ThinWrap feature is neither specially needed for matplotlib's usecase, nor is it widely accepted. It is like an independent package incorporated into matplotlib the hard way. I think this isn't the way is should be. In that case, it may be a dependency, which should be handled by easy_install or the user. Benjamin, I believe this code is neat in idea, but not suited well for Python. I would refrain from checking it in. Friedrich P.S.: It seems to me like a forced generalisation of your original idea of a wrap around the Colormap object. If I would be you, I'd restrict the usecase to Colormap, and implement a real class, which is just a WrappedColormap, derived from Colormap, which can do the job by overloading. Right from the need that you have to circumvent normal isinstance() checks, which shouldn't be an issue in a clear oo implementation of your functionality, you can see that your approach is not well suited in my opinion. Don't be offended, I have to add. I think you run into serious problems when trying to find a place for the class of ThinWrap in the oo model. Can you ask the authors of the pro posts to re-post their posts on the list? I'd be interested. >> cm.py: get_cmap() could finish the function without returning anything. I >> modified it to remove the "isinstance" check that would cause >> non-Colormap/non-string objects to fall into a black hole. We are gonna >> have to follow duck-typing here... >> colors.py: The Colormap class needs to be a new-style class for ReMap to >> work properly >> contour.py: Commented out code that did a isinstance() check on the cmap >> that would cause ReMaps on contours to fail. >> >> I have also included an example script to demonstrate how this wrapper >> class works and the ToGrayscale() class works. >> >> Let me know what you think! >> Ben Root > > Just reping-ing this. I haven't heard anything negative and got a few > positive comments off-list. I haven't committed this yet because I am > concerned about the implications of my changes to cm.py, colors.py and > contour.py. However, if I don't hear any concerns over the next couple of > days, shall I assume that it is ok to go ahead and commit? > > Ben Root |
From: Fernando P. <fpe...@gm...> - 2010-09-15 04:18:21
|
On Tue, Sep 14, 2010 at 6:29 PM, Benjamin Root <ben...@ou...> wrote: > Good point. I guess I am just a little *too* terminal-oriented. It's probably worth mentioning that we've gone to great lengths to try to produce in the new console an experience that's as seamless and fluid as possible to anyone who 'lives in a terminal' (like myself). We want this to be 'a terminal, but better': multiline editing, inline graphics, html documentation, popups with call tips, but all the keyboard friendliness and raw efficiency of a terminal. Put another way: this should be 100% usable *without* a mouse, and you should be more efficient with this in python than with any terminal. If you're not, it's a bug :) Cheers, f |
From: Benjamin R. <ben...@ou...> - 2010-09-15 01:29:46
|
On Wed, Sep 15, 2010 at 1:10 AM, Robert Kern <rob...@gm...> wrote: > On 9/14/10 8:01 PM, Benjamin Root wrote: > > On Wed, Sep 15, 2010 at 12:39 AM, Fernando Perez <fperez.net > > <http://fperez.net>@gmail.com <http://gmail.com>> wrote: > > > > On Tue, Sep 14, 2010 at 12:57 PM, Benjamin Root <ben...@ou... > > <mailto:ben...@ou...>> wrote: > > > > > > Why not have an examples module that contains function calls to > each > > > example? On the website, we can show the source code, but also > say that one > > > could just do: > > > > > >>>> import matplotlib.examples as ex > > >>>> ex.bars3d_demo() > > > > The idea is to have the *actual code* pasted in your terminal, > because > > now we can easily edit complex multi-line examples directly in > > ipython. So it's not just a matter of seeing the figure results, but > > mostly of having the actual source in your input buffer to play with. > > > > Cheers, > > > > f > > > > > > True... but, consider this. ipython can already display the code for a > > particular module/function using the '??' idiom. Why not have some way > to take > > that text and bring it into the input buffer? > > Regardless of whether or not this is a good idea, it doesn't replace the > functionality Fernando is requesting. People *will* be looking at the > matplotlib > docs on the web and copy-pasting the examples. Placing a link that they can > click to easily, robustly, and *obviously* copy the code for pasting into > the > shell (or anywhere else!) is better than telling them to go type some magic > commands they've probably never seen before. Magic commands that they will > probably want to copy-paste. And so the cycle is complete. > > Good point. I guess I am just a little *too* terminal-oriented. I tend to access the examples directly and have to copy-and-paste snippets of code, which has many issues with indentation and empty lines. Just the new input buffer of ipython is a significant enough feature to stand on its own and be beneficial. How we get text to it can be done in many different ways. Ben Root |
From: Benjamin R. <ben...@ou...> - 2010-09-15 01:23:26
|
On Wed, Sep 15, 2010 at 1:08 AM, Fernando Perez <fpe...@gm...>wrote: > On Tue, Sep 14, 2010 at 6:01 PM, Benjamin Root <ben...@ou...> wrote: > > True... but, consider this. ipython can already display the code for a > > particular module/function using the '??' idiom. Why not have some way > to > > take that text and bring it into the input buffer? > > Yes, but that's a separate issue. The approach you propose would > likely have in ex.demo_somehting() a stub to retrieve the actual > example code as a string from a file elsewhere, because (at least > right now) the mpl examples are written as 100% standalone files, not > as functions inside of some other control module. What you are saying > does apply to the mayavi.mlab.test_*() functions, that do serve as > examples precisely in that manner, since those *do* contain their code > inside the functions. > > So for the matplotlib examples, that live in standalone files, we'd > still need something different. > > Well, my idea was predicated upon what I said previously that matplotlib should package the examples into a useful module with function call. This way, one could have been able to run the demos and view the code just like any other piece of code in matplotlib. > > I can imagine this being useful beyond matplotlib where anybody could > have > > their example codes easily accessed and edited. > > Certainly! Right now the pager is a very simple tool, but I hope that > once we put this code out we'll get contributions from enterprising Qt > coders who may improve it and add things like a button that would copy > the code from the source part of an info pane and paste it in the > interactive area, all with a single click. > > We want to settle the core protocol/messaging behavior first, and once > this is ready and people test it a little, I really hope we'll get > contributions that enhance the user experience very much in this > manner. > > That is a good gameplan. What I have seen of ipython is very good and really resolves a lot of gripes I have had with my typical python development workflow. Keep up the good work! Ben Root |
From: Fernando P. <fpe...@gm...> - 2010-09-15 01:09:18
|
On Tue, Sep 14, 2010 at 6:01 PM, Benjamin Root <ben...@ou...> wrote: > True... but, consider this. ipython can already display the code for a > particular module/function using the '??' idiom. Why not have some way to > take that text and bring it into the input buffer? Yes, but that's a separate issue. The approach you propose would likely have in ex.demo_somehting() a stub to retrieve the actual example code as a string from a file elsewhere, because (at least right now) the mpl examples are written as 100% standalone files, not as functions inside of some other control module. What you are saying does apply to the mayavi.mlab.test_*() functions, that do serve as examples precisely in that manner, since those *do* contain their code inside the functions. So for the matplotlib examples, that live in standalone files, we'd still need something different. > I can imagine this being useful beyond matplotlib where anybody could have > their example codes easily accessed and edited. Certainly! Right now the pager is a very simple tool, but I hope that once we put this code out we'll get contributions from enterprising Qt coders who may improve it and add things like a button that would copy the code from the source part of an info pane and paste it in the interactive area, all with a single click. We want to settle the core protocol/messaging behavior first, and once this is ready and people test it a little, I really hope we'll get contributions that enhance the user experience very much in this manner. Cheers, f |
From: Benjamin R. <ben...@ou...> - 2010-09-15 01:02:24
|
On Wed, Sep 15, 2010 at 12:39 AM, Fernando Perez <fpe...@gm...>wrote: > On Tue, Sep 14, 2010 at 12:57 PM, Benjamin Root <ben...@ou...> wrote: > > > > Why not have an examples module that contains function calls to each > > example? On the website, we can show the source code, but also say that > one > > could just do: > > > >>>> import matplotlib.examples as ex > >>>> ex.bars3d_demo() > > The idea is to have the *actual code* pasted in your terminal, because > now we can easily edit complex multi-line examples directly in > ipython. So it's not just a matter of seeing the figure results, but > mostly of having the actual source in your input buffer to play with. > > Cheers, > > f > True... but, consider this. ipython can already display the code for a particular module/function using the '??' idiom. Why not have some way to take that text and bring it into the input buffer? I can imagine this being useful beyond matplotlib where anybody could have their example codes easily accessed and edited. Ben Root |
From: Fernando P. <fpe...@gm...> - 2010-09-15 00:39:40
|
On Tue, Sep 14, 2010 at 12:57 PM, Benjamin Root <ben...@ou...> wrote: > > Why not have an examples module that contains function calls to each > example? On the website, we can show the source code, but also say that one > could just do: > >>>> import matplotlib.examples as ex >>>> ex.bars3d_demo() The idea is to have the *actual code* pasted in your terminal, because now we can easily edit complex multi-line examples directly in ipython. So it's not just a matter of seeing the figure results, but mostly of having the actual source in your input buffer to play with. Cheers, f |
From: Benjamin R. <ben...@ou...> - 2010-09-14 19:57:53
|
On Tue, Sep 14, 2010 at 1:58 PM, Fernando Perez <fpe...@gm...>wrote: > On Tue, Sep 14, 2010 at 11:48 AM, Anne Archibald > <aar...@ph...> wrote: > > On 14 September 2010 11:08, Gökhan Sever <gok...@gm...> wrote: > > > >> 1-) When one downloads a script from the matplotlib gallery via an > external > >> script (name it load_into_ipython or open_with_ipython) the contents of > that > >> gallery script (or any python script) can be executed locally inside an > >> ipython session. > > > > Not to be difficult, but I should point out that allowing users to run > > code with one click, particularly if that code is from a wiki or other > > user-submitted gallery, is just asking for trouble. How long before > > someone submits "import os, shutil; > > shutil.deltree(os.environ['HOME'])"? Or sneaks it into some otherwise > > inoffensive script? > > Very valid points. I'm leaning more towards something like a > combination of (hopefully) a 'copy code' button on the MPL webpages > themselves, so users don't have to scroll/highlight a lot but would > still do paste, execute manually, and a special %mplexample magic. > > This would only run examples from the mpl gallery (hardcoding the > path), would display the code to the user first, and would ask for > confirmation before execution. Since those html pages are built by > executing those same scripts, there's a layer of sanity already built > into it (the rmtree call would have already nuked the builder's home > directory in the build process if it had been there). Showing the > code to the user and confirming execution before proceeding adds a > final chance for the person to check her parachute before jumping off > the cliff. > > Does that sound reasonable? > > >> 2-) Matplotlib gallery might turn to an interactive environment where > you > >> can execute the script from right within your browser and change > parameters > >> in the same browser window. As far as I know mpl figures can now be > drawn on > >> html canvas. This might for sure boost the number of matplotlib > audience. > > > > Is there a sandboxed browser plugin? Or server plugin, depending on > > where you run the script? > > This would have to be server-side, and code needs to be written. Part > of our interest with this explicit separation of ipython kernel and > clients with a well-defined protocol is to make the above possible. > But we haven't written any of the code necessary to have a browser > client, and to serve code read from a sphinx-generated HTML page. > Gokhan, your patches will be welcome, the infrastructure is now ready > and waiting for you :) > > Cheers, > > f > Just a crazy idea to consider that would completely bypass this whole vulnerability issue... Why not have an examples module that contains function calls to each example? On the website, we can show the source code, but also say that one could just do: >>> import matplotlib.examples as ex >>> ex.bars3d_demo() My 2 cents... Ben Root |
From: Fernando P. <fpe...@gm...> - 2010-09-14 19:50:16
|
On Tue, Sep 14, 2010 at 12:38 PM, Gökhan Sever <gok...@gm...> wrote: > > Sage provides some level of interaction actually without any deployment made > on local side. Try for instance the following example on sagenb.org > from scipy import stats > import numpy as np > import matplotlib.pyplot as plt > @interact > def plot_gamma(a=(1,(1,10)), loc=(0,(0,10)), scale=(1,(1,10))): > rv = stats.gamma(a, loc, scale) > x = np.linspace(-1,20,1000) > plt.plot(x,rv.pdf(x)) > plt.grid(True) > plt.savefig('plt.png') > plt.clf() > This one is very useful for educational and demonstrative purposes. Still > requires a bit Sage syntax manipulations to make things fully interacting on > browser. > Nice that you have matured IPython infra for implementing > such interactive functionality. I was thinking perhaps running something on > top GApss Engine but not sure they allow compiling/running C/C++ extensions > on their servers. Alternatively, like in Sage servers virtual OS'es might be > the way to go with it then possibly there will be user registration and > management issues (not sure about all specifics). Actually sage does have one *implicit* but very particular 'local deployment': its notebook execution model is *strictly* tied to the idea that the client is a web browser. Try this code in the sage terminal (i.e. their customized ipython, not the notebook): sage: @interact ....: def x(a=(1, (1, 10))): ....: print a ....: and you'll see: <html><!--notruncate--><div padding=6 id='div-interact-0'> <table width=800px height=20px bgcolor='#c5c5c5' cellpadding=15><tr><td bgcolor='#f9f9f9' valign=top align=left><table><tr><td align=right><font color="black">a </font></td><td><table><tr><td> <div id='slider-a-0' style='margin:0px; margin-left: 1.0em; margin-right: 1.0em; width: 15.0em;'></div> ... lots more... </table><div id='cell-interact-0'><?__SAGE__START> <table border=0 bgcolor='#white' width=100% height=100%> <tr><td bgcolor=white align=left valign=top><pre><?__SAGE__TEXT></pre></td></tr> <tr><td align=left valign=top><?__SAGE__HTML></td></tr> </table><?__SAGE__END></div></td> </tr></table></div> </html> sage: So you can see, @interact in sage does basically: - analyze the inputs of the function - do some basic 'type inference' and emit javascript/html controls for each parameter. - emit an html section that wires the above controls to repeated calls of the decorated function as the controls are operated. This is very cool, and it enables great functionality, but it's hard-coded to an html/javascript client. What we're doing is a little different, as we've built a *protocol* that clients can use to talk to the kernel, regardless of how they are implemented. As the functionality matures, we'll see who contributes a browser-based client (that will require wrapping the kernel in an http server, obviously). And then the question of things like @interact will be an interesting one to think about. @interact by nature is creating a user interface (Mathematica's Manipulate creates Notebook controls, sage's @interact creates HTML ones). I'm not sure yet how we'll approach that: having per-client implementations? A traits-style approach where each client renders it differently? No idea yet. Cheers, f |
From: Gökhan S. <gok...@gm...> - 2010-09-14 19:39:04
|
On Tue, Sep 14, 2010 at 1:58 PM, Fernando Perez <fpe...@gm...>wrote: > >> 2-) Matplotlib gallery might turn to an interactive environment where > you > >> can execute the script from right within your browser and change > parameters > >> in the same browser window. As far as I know mpl figures can now be > drawn on > >> html canvas. This might for sure boost the number of matplotlib > audience. > > > > Is there a sandboxed browser plugin? Or server plugin, depending on > > where you run the script? > > This would have to be server-side, and code needs to be written. Part > of our interest with this explicit separation of ipython kernel and > clients with a well-defined protocol is to make the above possible. > But we haven't written any of the code necessary to have a browser > client, and to serve code read from a sphinx-generated HTML page. > Gokhan, your patches will be welcome, the infrastructure is now ready > and waiting for you :) Sage provides some level of interaction actually without any deployment made on local side. Try for instance the following example on sagenb.org from scipy import stats import numpy as np import matplotlib.pyplot as plt @interact def plot_gamma(a=(1,(1,10)), loc=(0,(0,10)), scale=(1,(1,10))): rv = stats.gamma(a, loc, scale) x = np.linspace(-1,20,1000) plt.plot(x,rv.pdf(x)) plt.grid(True) plt.savefig('plt.png') plt.clf() This one is very useful for educational and demonstrative purposes. Still requires a bit Sage syntax manipulations to make things fully interacting on browser. Nice that you have matured IPython infra for implementing such interactive functionality. I was thinking perhaps running something on top GApss Engine but not sure they allow compiling/running C/C++ extensions on their servers. Alternatively, like in Sage servers virtual OS'es might be the way to go with it then possibly there will be user registration and management issues (not sure about all specifics). Probably, Ondrej might like experiencing with this idea :) Since he has similar initiatives and asking help on similar topics. I am trying to graduate myself working to solve some of my research problems and struggling with writing especially to move on PhD. This might be a very fun Summer job if I am wandering around jobless then. -- Gökhan |
From: Gökhan S. <gok...@gm...> - 2010-09-14 19:23:11
|
On Tue, Sep 14, 2010 at 1:48 PM, Anne Archibald <aar...@ph...>wrote: > On 14 September 2010 11:08, Gökhan Sever <gok...@gm...> wrote: > > > 1-) When one downloads a script from the matplotlib gallery via an > external > > script (name it load_into_ipython or open_with_ipython) the contents of > that > > gallery script (or any python script) can be executed locally inside an > > ipython session. > > Not to be difficult, but I should point out that allowing users to run > code with one click, particularly if that code is from a wiki or other > user-submitted gallery, is just asking for trouble. How long before > someone submits "import os, shutil; > shutil.deltree(os.environ['HOME'])"? Or sneaks it into some otherwise > inoffensive script? > I was thinking naively --with Python for Science in mind not Python for Hacking. I accept this is a not good idea considering that harmful effect but in this brave new world of us there is always danger involved when one puts their hands on virtual lands --whether the code is executed intentionally or sneaked by a conic head. > > > 2-) Matplotlib gallery might turn to an interactive environment where you > > can execute the script from right within your browser and change > parameters > > in the same browser window. As far as I know mpl figures can now be drawn > on > > html canvas. This might for sure boost the number of matplotlib audience. > > Is there a sandboxed browser plugin? Or server plugin, depending on > where you run the script? > This one is one of my aloud speculations. Only at ideas level. I will write more, answering Fernando's reply. > > Anne > -- Gökhan |
From: Fernando P. <fpe...@gm...> - 2010-09-14 18:58:40
|
On Tue, Sep 14, 2010 at 11:48 AM, Anne Archibald <aar...@ph...> wrote: > On 14 September 2010 11:08, Gökhan Sever <gok...@gm...> wrote: > >> 1-) When one downloads a script from the matplotlib gallery via an external >> script (name it load_into_ipython or open_with_ipython) the contents of that >> gallery script (or any python script) can be executed locally inside an >> ipython session. > > Not to be difficult, but I should point out that allowing users to run > code with one click, particularly if that code is from a wiki or other > user-submitted gallery, is just asking for trouble. How long before > someone submits "import os, shutil; > shutil.deltree(os.environ['HOME'])"? Or sneaks it into some otherwise > inoffensive script? Very valid points. I'm leaning more towards something like a combination of (hopefully) a 'copy code' button on the MPL webpages themselves, so users don't have to scroll/highlight a lot but would still do paste, execute manually, and a special %mplexample magic. This would only run examples from the mpl gallery (hardcoding the path), would display the code to the user first, and would ask for confirmation before execution. Since those html pages are built by executing those same scripts, there's a layer of sanity already built into it (the rmtree call would have already nuked the builder's home directory in the build process if it had been there). Showing the code to the user and confirming execution before proceeding adds a final chance for the person to check her parachute before jumping off the cliff. Does that sound reasonable? >> 2-) Matplotlib gallery might turn to an interactive environment where you >> can execute the script from right within your browser and change parameters >> in the same browser window. As far as I know mpl figures can now be drawn on >> html canvas. This might for sure boost the number of matplotlib audience. > > Is there a sandboxed browser plugin? Or server plugin, depending on > where you run the script? This would have to be server-side, and code needs to be written. Part of our interest with this explicit separation of ipython kernel and clients with a well-defined protocol is to make the above possible. But we haven't written any of the code necessary to have a browser client, and to serve code read from a sphinx-generated HTML page. Gokhan, your patches will be welcome, the infrastructure is now ready and waiting for you :) Cheers, f |
From: Anne A. <aar...@ph...> - 2010-09-14 18:48:51
|
On 14 September 2010 11:08, Gökhan Sever <gok...@gm...> wrote: > 1-) When one downloads a script from the matplotlib gallery via an external > script (name it load_into_ipython or open_with_ipython) the contents of that > gallery script (or any python script) can be executed locally inside an > ipython session. Not to be difficult, but I should point out that allowing users to run code with one click, particularly if that code is from a wiki or other user-submitted gallery, is just asking for trouble. How long before someone submits "import os, shutil; shutil.deltree(os.environ['HOME'])"? Or sneaks it into some otherwise inoffensive script? > 2-) Matplotlib gallery might turn to an interactive environment where you > can execute the script from right within your browser and change parameters > in the same browser window. As far as I know mpl figures can now be drawn on > html canvas. This might for sure boost the number of matplotlib audience. Is there a sandboxed browser plugin? Or server plugin, depending on where you run the script? Anne |
From: Fernando P. <fpe...@gm...> - 2010-09-14 18:21:19
|
Hey, On Tue, Sep 14, 2010 at 8:21 AM, John Hunter <jd...@gm...> wrote: > > How about this as an alternative: on my box, I can drag the "source > code" link from the browser into my terminal, which by default pastes > the URL of the referenced *.py into the terminal. If "run" supported > a -w (web) option, or automatically detected that the URL starts with > http, it could do a web run of the file. Of course, you may want the > source code pasted in for illustrative purposes... To support this, > you could add a -u (url) option to "paste" which assumes the input is > a url, fetches it, and pastes the contents into ipython. So you could > type "paste -u" and then drag the link into the terminal, and it would > fetch it and paste the code into an input block. I'll play with those ideas, good thoughts. %paste may not be the best location because paste is now a terminal-only magic, since gui clients have 'real' paste. What's a little trickier now is that we really need to think all the time in terms of completely separate kernel and client codes, that only communicate via messages. So a magic can't muck with code in the client, because the magic executes inside the kernel and the client is in a separate process (and possibly in a separate computer). While this is a bit more constraining, it forces us to have a clean separation between different kinds of functionality. We've toyed with the idea of enabling a special syntax for *purely client side* commands, something like :cmd that would never be sent to the kernel, and would be something for the client to process internally. But we'll have to mull this a little longer... One very important point in all of this is that the client *may not be written in Python*. All we have is a messaging protocol, the client could be a web browser or anything else. But in any case, I'll play with ways to expose this that are as easy as possible for the users thanks for the feedback. Cheers, f |
From: Fernando P. <fpe...@gm...> - 2010-09-14 18:14:58
|
On Mon, Sep 13, 2010 at 7:08 PM, David Warde-Farley <war...@ir...> wrote: > > Nice work IPython people! I haven't been following too closely but this looks exciting. Thanks, David. Hopefully by next week we'll complete our stabilization so that we're willing to foist this on the ipython-dev and mpl-dev denizens. Anyone is welcome to try it out now, but we're moving things around enough that at any given point it may or may not work. We'll move it into trunk once the churn stops. Regards, f |