On Dec 30, 2007 12:33 PM, Ondrej Certik <[EMAIL PROTECTED]> wrote:

> We should have gotten involved more in matplotlib development earlier,
> but at least now. I think there should be just one 3D plotting
> library in Python and imho matplotlib should do it. However, we need:

Hi Ondrej,

Sorry for the delay getting back to you.  I've been on holiday so have
only limited email access.

> * it should be pure python
> * fast and interactive 3D stuff
> * needs to work out of the box on linux, mac os x, windows (without 
> compilation)

We have long wanted limited 3D capability in matplotlib, and as you
know we have some functionality in the axes3d classes but it has
proven to be extremely slow, and somewhat buggy, and the original
author has moved on to other things so it is mostly unsupported.  We
would be very excited if there was some way to incorporate your work
using pyglet, which is very nice.

matplotlib started out life as pure python, and for several release
cycles remained that way.  A that time, there were two backends, GTK
and PS, so there is no reason in principle that matplotlib needs to
have extension code.  Over time, we have evolved a considerable amount
of extension code, which Michael outlined for you, but it generally
falls into two classes:

  * access 3rd party C/C++ (Agg, freetype and libpng)

  * make matplotlib go faster (image, transforms, other helpers)

A big chunk of extension code was removed in Michael's recent
refactoring of transforms, and it is possible and desirable to remove
more.  Eg, we should be able to replace ft2font with a ctypes wrapper,
though I have never experimented with this.

While I think reducing the amount of extension code is useful and
desirable, the complete eradication of it is unlikely, and would
result in a matplotlib with limited functionality.  Michael
mentioned a few of these areas, but contouring and image support make
heavy use of extension code that would be difficult to do in python.
Also, we depend very heavily numpy, so even if matplotlib were pure
python, it would depend on numpy which is not.  And that dependency is
at the core of matplotlib.

I tend to agree with Michael: our effort would be better spent
identifying the areas that make compilation problematic than trying to
remove all extension code.  For the most part, these difficulties
arise from depending on 3rd party C/C+ code at compile time (eg a GUI
toolkit or libpng or freetype).  I would love to find a way to remove
all these compile time dependencies.

> Another cool stuff in matplotlib is the pure python latex renderer
> (/matplotlib-0.91.1/lib/matplotlib/mathtext.py). See our issue for
> more info:

Yes, the mathtext support in matplotlib is very nice, and Michael
deserves the credit for taking from a package that
works but has warts, to an extremely nice math layout engine using the
Knuth algorithms.  I'm sure others would like to use it without having
to pull in all of matplotlib.  With a ctypes freetype wrapper, it
should be possible to build a free-standing mathtext.



JDH

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

Reply via email to