Re: [matplotlib-devel] Pull request

2013-10-21 Thread Pierre Haessig
Hi,

Le 20/10/2013 09:45, Todd a écrit :
> I submitted a pull request #2522 [1].  It includes support for more
> basic spectrum plots like magnitude and phase spectrums.  These are
> extremely commonly used in signal processing, acoustics, and many
> other fields, but are also very important for educational usage since
> pretty much anyone going through one of several engineering degrees
> like electrical engineering has to learn these types of plots.  I have
> heard a number of colleagues complaining about the lack of these plots
> in matlab.

Having specific signal processing functions is indeed important. I hust
have a question about "phase" vs. "angle" spectrum. From browsing
quickly through you doc, it seems that the difference is just about
*unwrapping the phase*. If that's indeed the case, I've two
questions/remarks:

1) is the terminology "phase" vs. "angle" spectrum standardized ? I must
say I've never heard of one meaning "wrapped" and the other "unwrapped".
I didn't find similar terms in Matlab docs, but I didn't search that
thoroughly.

2) Should there be two separate functions for these two, or just one
function, with a switch argument `unwrap` ? (I guess it would be True by
default)

best,
Pierre






signature.asc
Description: OpenPGP digital signature
--
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60135031&iu=/4140/ostg.clktrk___
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel


Re: [matplotlib-devel] Pull request

2013-10-21 Thread Todd
On Mon, Oct 21, 2013 at 3:13 PM, Pierre Haessig wrote:

> Hi,
>
> Le 20/10/2013 09:45, Todd a écrit :
> > I submitted a pull request #2522 [1].  It includes support for more
> > basic spectrum plots like magnitude and phase spectrums.  These are
> > extremely commonly used in signal processing, acoustics, and many
> > other fields, but are also very important for educational usage since
> > pretty much anyone going through one of several engineering degrees
> > like electrical engineering has to learn these types of plots.  I have
> > heard a number of colleagues complaining about the lack of these plots
> > in matlab.
>
> Having specific signal processing functions is indeed important. I hust
> have a question about "phase" vs. "angle" spectrum. From browsing
> quickly through you doc, it seems that the difference is just about
> *unwrapping the phase*. If that's indeed the case, I've two
> questions/remarks:
>
> 1) is the terminology "phase" vs. "angle" spectrum standardized ? I must
> say I've never heard of one meaning "wrapped" and the other "unwrapped".
> I didn't find similar terms in Matlab docs, but I didn't search that
> thoroughly.
>

The "angle" function in numpy returns the wrapped angle, while the "unwrap"
function documentation talks about phase, so it is consistent with the
usage in numpy.   Further, in signal processing, phases can have any value,
while "angle" often refers to the angle between two lines, which must be
wrapped.

There may be some ambiguity, but I made sure to explain it in the
documentation and provide links between the two functions so people know
what they should do if they want to use the other approach.


> 2) Should there be two separate functions for these two, or just one
> function, with a switch argument `unwrap` ? (I guess it would be True by
> default)
>

I originally was going to do that, but decided against it.  The problem is
with specgram.  Here, I thought it would be needlessly complicated to add
an "unwrap" parameter that is only useful for one "mode".  To make it
obvious to users, I wanted to keep specgram as similar as possible to the
other plot types, and that involved keeping the parameter.

Further, this approach is simpler to code and easier to maintain. Having to
deal with the "unwrap" parameter would have been more difficult to
program.  Dealing with both an "unwrap" parameter in some cases and a
separate "mode" in others would have been even more complicated.

Further, _spectral_helper and specgram already have a huge number of
arguments.  This way I was able to get away with just adding one new
argument rather than two.
--
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60135031&iu=/4140/ostg.clktrk___
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel


Re: [matplotlib-devel] matplotlib user guide

2013-10-21 Thread mark
hi matplotlib developers

as I previously posted, I have thought about structure and flow of the
user guide

my fist cut of a change set is viewable here:
https://github.com/marqh/matplotlib/compare/userGuideShape

it keeps all of the same content as the current user guide but
subdivides some sections into categories:
   configuration
   beginner's guide
   advanced guide

So, all feedback very gratefully received, but a particular focus
requested on:
  - sub-section headings
  - sub-section contents (scope)
  - ordering

I would like to focus on getting the categorisation and ordering
helpful for this piece of work.

I feel that this will give us more accessible ways into adding new
sections or adapting sections but that this should wait for a follow up
activity.

many thanks
mark

On Wed, 25 Sep 2013 08:19:59 +
mark  wrote:

> hi matplotlib developers
> 
> I have been considering the matplotlib user guide structure and it
> has occured to me that there are two user guides interleaved here:
>   1. Introduction for new users
>   2. Library tour for developers
> 
> I think that this structure makes it challenging for new users to
> benefit from the user guide as much as they could.  
> 
> I would like to see the user guide separated into two sections, with
> the two different audiences in mind.  I feel this would enable new
> users of the library to have a more targeted introduction to some of
> the neat features without getting bogged down in details they are
> unlikely to need (or comprehend). 
> 
> I am very happy to have a go at this and put up a set of suggested
> changes but I would value input from the community on this approach
> and my category suggestions before I submit a pull request.
> 
> many thanks
> mark
> 
> 
> --
> October Webinars: Code for Performance
> Free Intel webinars can help you accelerate application performance.
> Explore tips for MPI, OpenMP, advanced profiling, and more. Get the
> most from the latest Intel processors and coprocessors. See abstracts
> and register >
> http://pubads.g.doubleclick.net/gampad/clk?id=60133471&iu=/4140/ostg.clktrk
> ___ Matplotlib-devel
> mailing list Matplotlib-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/matplotlib-devel


--
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60135031&iu=/4140/ostg.clktrk
___
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel


[matplotlib-devel] ggplot for matplotlib

2013-10-21 Thread Michael Droettboom
I just learned about this today, and thought I'd share.  It's an 
implementation of the ggplot interface on top of matplotlib:


http://blog.yhathq.com/posts/ggplot-for-python.html

--
   _
|\/|o _|_  _. _ | | \.__  __|__|_|_  _  _ ._ _
|  ||(_| |(_|(/_| |_/|(_)(/_|_ |_|_)(_)(_)| | |

http://www.droettboom.com

--
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60135031&iu=/4140/ostg.clktrk___
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel


Re: [matplotlib-devel] Directories for C/C++ extensions

2013-10-21 Thread Michael Droettboom

On 10/19/2013 04:14 AM, Ian Thomas wrote:
On 18 October 2013 19:18, Chris Barker > wrote:


Ian,

> I am working on a PR to replace the use of matplotlib.delaunay
with the
> Qhull library.

nice! -- ( though I sure wish Qhull did constrained delaunay...)

> Installation will be similar to the existing packages LibAgg
> and CXX in that if the system already has a sufficiently recent
version of
> Qhull installed then matplotlib will use that, otherwise it will
build the
> required library from the source code shipped with matplotlib.

Why bother, why not just always build the internal version?

(for that matter, same with agg)

Wouldn't it be a lot easier and more robust to be sure that everyone
is running the exact same code?

What are the odds that folks are using qhull for something else, and
even more to the point, what are the odds that the duplication of this
lib would matter one wit?

This isn't like LAPACK, where folks have a compellling reason to run a
particular version.

-- just my thoughts on how to keep things simpler.


Chris,

Todd has hit the nail on the head.

To expand slightly, with the current situation the onus is on us to 
ensure that mpl builds OK and passes all of our tests with and without 
each of the external libraries. Linux distro packagers will choose to 
set up qhull as a required dependency for their mpl package, and once 
they have done this can simply delete our directory containing the 
qhull source code in their mpl source package, and it will build OK 
without any further changes and we can all be confident that it will 
work correctly.


If we always used our internal version then distro packagers would 
have to change our setup scripts to build using the external 
libraries.  This would be more time-consuming and error prone leading 
to less timely mpl distro releases.  We need to make their job as easy 
as possible.


Agreed on all of these points, and I'm not advocating a change from what 
Ian is doing.  However, as get on in years, I'm starting to more and 
more feel like the needs of the distro packagers, which are primarily 
security and stability, are sometimes at odds with the needs of 
scientific software, where the premium is on reproducibility.  The 
output of matplotlib depends on the versions of some of its 
dependencies, not the version of matplotlib alone, and that's 
problematic for some...  Anyway, just food for thought. I still think 
the most practical approach is the one we're taking (shipping 
dependencies, but making it easy to use the system libraries when 
available).


Mike

--
   _
|\/|o _|_  _. _ | | \.__  __|__|_|_  _  _ ._ _
|  ||(_| |(_|(/_| |_/|(_)(/_|_ |_|_)(_)(_)| | |

http://www.droettboom.com

--
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60135031&iu=/4140/ostg.clktrk___
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel


Re: [matplotlib-devel] Test failure testing binary installer - any clues?

2013-10-21 Thread Michael Droettboom
On 10/19/2013 04:24 PM, Matthew Brett wrote:
> Hi,
>
> On Fri, Oct 18, 2013 at 4:47 AM, Michael Droettboom  wrote:
>> On 10/18/2013 02:11 AM, Matthew Brett wrote:
>>> Hi,
>>>
>>> I'm testing the binary installer build:
>>>
>>> https://travis-ci.org/matthew-brett/mpl-osx-binaries/builds/12703220
>>>
>>> and I'm getting a test failure on Python 3.3 (not Python 2.7):
>>>
>>> ==
>>> FAIL: matplotlib.tests.test_lines.test_invisible_Line_rendering.test
>>> --
>>> Traceback (most recent call last):
>>> File 
>>> "/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/site-packages/nose/case.py",
>>> line 198, in runTest
>>>   self.test(*self.arg)
>>> File 
>>> "/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/site-packages/matplotlib/testing/decorators.py",
>>> line 73, in test
>>>   self._func()
>>> File 
>>> "/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/site-packages/matplotlib/tests/test_lines.py",
>>> line 54, in test_invisible_Line_rendering
>>>   assert_true(slowdown_factor < slowdown_threshold)
>>> AssertionError: False is not true
>>>
>>> --
>>> Ran 1464 tests in 656.822s
>>>
>>> Is this a problem?  What should I do to debug further?
>>>
>> I've never seen that failure before...
>>
>> I wonder if Pierre Haessig has any thoughts, as the author of that test...
>>
>> Mike
> Thanks.  I get the same error running under Python 2.7 on a clean 10.6 
> machine.
>
> Also I get:
>
> ==
> FAIL: matplotlib.tests.test_contour.test_contour_manual_labels.test
> --
> Traceback (most recent call last):
>File 
> "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/nose/case.py",
> line 197, in runTest
>  self.test(*self.arg)
>File 
> "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/testing/decorators.py",
> line 40, in failer
>  result = f(*args, **kwargs)
>File 
> "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/testing/decorators.py",
> line 159, in do_test
>  '(RMS %(rms).3f)'%err)
> ImageComparisonFailure: images not close:
> /Users/mb312/mpkg-test/mpl-test/result_images/test_contour/contour_manual_labels.png
> vs. 
> /Users/mb312/mpkg-test/mpl-test/result_images/test_contour/contour_manual_labels-expected.png
> (RMS 15.521)
>
> The images look identical to me...
Can you send me the failed image?  If we both agree they are the same, 
it may just need to have the RMS increased to account for font differences.

Also Cc'ing Pierre about the above issue.

Mike

-- 
_
|\/|o _|_  _. _ | | \.__  __|__|_|_  _  _ ._ _
|  ||(_| |(_|(/_| |_/|(_)(/_|_ |_|_)(_)(_)| | |

http://www.droettboom.com


--
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60135031&iu=/4140/ostg.clktrk
___
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel


Re: [matplotlib-devel] ggplot for matplotlib

2013-10-21 Thread Todd
Seems like a lot of what they are doing could be upstreamed into
matplotlib.  Then they could just wrap it in their own ggplot syntax.  That
would improve matplotlib and simplify the maintainance for them.


On Mon, Oct 21, 2013 at 5:58 PM, Michael Droettboom  wrote:

>  I just learned about this today, and thought I'd share.  It's an
> implementation of the ggplot interface on top of matplotlib:
>
> http://blog.yhathq.com/posts/ggplot-for-python.html
>
> --
>_
> |\/|o _|_  _. _ | | \.__  __|__|_|_  _  _ ._ _
> |  ||(_| |(_|(/_| |_/|(_)(/_|_ |_|_)(_)(_)| | |
> http://www.droettboom.com
>
>
>
> --
> October Webinars: Code for Performance
> Free Intel webinars can help you accelerate application performance.
> Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most
> from
> the latest Intel processors and coprocessors. See abstracts and register >
> http://pubads.g.doubleclick.net/gampad/clk?id=60135031&iu=/4140/ostg.clktrk
> ___
> Matplotlib-devel mailing list
> Matplotlib-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/matplotlib-devel
>
>
--
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60135031&iu=/4140/ostg.clktrk___
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel


Re: [matplotlib-devel] ggplot for matplotlib

2013-10-21 Thread Michael Droettboom
Yes -- I reached out to the author about exactly that this morning.  It 
would be great to closely collaborate on this.


Mike

On 10/21/2013 01:06 PM, Todd wrote:
Seems like a lot of what they are doing could be upstreamed into 
matplotlib.  Then they could just wrap it in their own ggplot syntax.  
That would improve matplotlib and simplify the maintainance for them.



On Mon, Oct 21, 2013 at 5:58 PM, Michael Droettboom > wrote:


I just learned about this today, and thought I'd share.  It's an
implementation of the ggplot interface on top of matplotlib:

http://blog.yhathq.com/posts/ggplot-for-python.html

-- 
_

|\/|o _|_  _. _ | | \.__  __|__|_|_  _  _ ._ _
|  ||(_| |(_|(/_| |_/|(_)(/_|_ |_|_)(_)(_)| | |

http://www.droettboom.com



--
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get
the most from
the latest Intel processors and coprocessors. See abstracts and
register >
http://pubads.g.doubleclick.net/gampad/clk?id=60135031&iu=/4140/ostg.clktrk
___
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net

https://lists.sourceforge.net/lists/listinfo/matplotlib-devel




--
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60135031&iu=/4140/ostg.clktrk


___
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel



--
   _
|\/|o _|_  _. _ | | \.__  __|__|_|_  _  _ ._ _
|  ||(_| |(_|(/_| |_/|(_)(/_|_ |_|_)(_)(_)| | |

http://www.droettboom.com

--
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60135031&iu=/4140/ostg.clktrk___
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel


Re: [matplotlib-devel] matplotlib user guide

2013-10-21 Thread Chris Barker
On Fri, Oct 18, 2013 at 11:56 AM, Benjamin Root  wrote:

> FWIW, I think my "Anatomy of Matplotlib" tutorial I gave at SciPy 2013
> struck a balance between pyplot and the OO interface.

Grat, I'll take a look.

Does the ipynb linked from the tutorial site have most of the
presentation material?

As it turns out, I need to give an intro to matplotlib class this week
-- I've been looking for some good materials to use -- why re-invent
the wheel?

I'll be sure to give you any feedback I have.

Hmmm.. this may be a time to put together a project of materials
designed to teach matplotlib in a classroom setting -- a little
different than a tutorial designed to be done on one's own.

There is a bunch of stuff scattered among scipy tutorials, bootcamp
lectures, etc, but having a central place to develop materials would
be nice.

-Chris


-- 

Christopher Barker, Ph.D.
Oceanographer

Emergency Response Division
NOAA/NOS/OR&R(206) 526-6959   voice
7600 Sand Point Way NE   (206) 526-6329   fax
Seattle, WA  98115   (206) 526-6317   main reception

chris.bar...@noaa.gov

--
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60135031&iu=/4140/ostg.clktrk
___
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel


Re: [matplotlib-devel] Directories for C/C++ extensions

2013-10-21 Thread Chris Barker
> To expand slightly, with the current situation the onus is on us to ensure
> that mpl builds OK and passes all of our tests with and without each of the
> external libraries.

If you only have internal libs, then there is less to do -- it only
need to work with the version you bundle. And making sure it works
with any-old-version-that-may-not-exist-yet is a pretty formidable
challenge!

> Linux distro packagers will choose to set up qhull as a
> required dependency for their mpl package, and once they have done this can
> simply delete our directory containing the qhull source code in their mpl
> source package,

If they are going to insist on doing this, then, yes you should
certainly do it this way.

> we can all be confident that it will work correctly.

only if you've  tested against the version (maybe patched) of the
external lib they are using...

> If we always used our internal version then distro packagers would have to
> change our setup scripts to build using the external libraries.  This would
> be more time-consuming and error prone leading to less timely mpl distro
> releases.  We need to make their job as easy as possible.

it's easiest for them if they don't try to pull out an included
dependency -- but maybe you're right that that REALLY want to do that!

>The needs of the distro packagers, which are primarily security and
> stability, are sometimes at odds with the needs of scientific software,
> where the premium is on reproducibility.  The output of matplotlib depends
> on the versions of some of its dependencies, not the version of matplotlib
> alone, and that's problematic for some...

exactly -- if we know exactly which version of a lib is in use, we
know that it works the way we expect in the use cases we expect to use
it in.

But I'm not maintaining this code, so have at it in the way that makes
sense to you.

NOTE: it would be a different story if this were a netwroking protocol
lib, or something where security patches would be critical. Maybe I'm
naive, but this doesn't seem likely in this case.

-Chris





-- 

Christopher Barker, Ph.D.
Oceanographer

Emergency Response Division
NOAA/NOS/OR&R(206) 526-6959   voice
7600 Sand Point Way NE   (206) 526-6329   fax
Seattle, WA  98115   (206) 526-6317   main reception

chris.bar...@noaa.gov

--
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60135031&iu=/4140/ostg.clktrk
___
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel


Re: [matplotlib-devel] matplotlib user guide

2013-10-21 Thread Benjamin Root
On Mon, Oct 21, 2013 at 1:26 PM, Chris Barker  wrote:

> On Fri, Oct 18, 2013 at 11:56 AM, Benjamin Root  wrote:
>
> > FWIW, I think my "Anatomy of Matplotlib" tutorial I gave at SciPy 2013
> > struck a balance between pyplot and the OO interface.
>
> Grat, I'll take a look.
>
> Does the ipynb linked from the tutorial site have most of the
> presentation material?
>
>
Yup. Most of it is in the notebook. Here is the repo:
https://github.com/WeatherGod/AnatomyOfMatplotlib


> As it turns out, I need to give an intro to matplotlib class this week
> -- I've been looking for some good materials to use -- why re-invent
> the wheel?
>
> I'll be sure to give you any feedback I have.
>
>
Thanks! That would be appreciated! I am glad this will (hopefully) save
time and effort on your part to get others ramped up.


> Hmmm.. this may be a time to put together a project of materials
> designed to teach matplotlib in a classroom setting -- a little
> different than a tutorial designed to be done on one's own.
>
> There is a bunch of stuff scattered among scipy tutorials, bootcamp
> lectures, etc, but having a central place to develop materials would
> be nice.
>
> -Chris
>
>
I agree with you in principle, but I think the question is "central to
whom?" The bootcamps are useful for their own purposes and audiences, while
the scipy tutorial s are useful for their own things, etc. At this point, I
think the bootcamps and SciPy and other conferences really should be the
best venues for pushing out the "classroom-oriented" type of tutorials.

Cheers!
Ben Root
--
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60135031&iu=/4140/ostg.clktrk___
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel


Re: [matplotlib-devel] Directories for C/C++ extensions

2013-10-21 Thread Ian Thomas
On 21 October 2013 18:36, Chris Barker  wrote:

> > we can all be confident that it will work correctly.
>
> only if you've  tested against the version (maybe patched) of the
> external lib they are using...
>

Of course not.  We provide the framework to build mpl and run tests.
Distro developers choose how they want to build it and then run our tests.
If the tests pass then both they and us are confident that it works
correctly.  We haven't had to test against anyone else's choice of library
version.

But I'm not maintaining this code, so have at it in the way that makes
> sense to you.
>

This is nothing to do with what makes sense to me; it is about following
the existing policy on C/C++ extensions when adding a new one.  Just
because I am taking time to answer your questions don't presume I am taking
a particular stance.  In fact I don't have a preference either way, I am
just doing the work that is required in a way that is consistent with
existing code.  If there is a change of policy I am happy to do it a
different way.

Ian
--
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60135991&iu=/4140/ostg.clktrk___
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel


Re: [matplotlib-devel] Directories for C/C++ extensions

2013-10-21 Thread Todd
On Mon, Oct 21, 2013 at 7:36 PM, Chris Barker  wrote:

> > To expand slightly, with the current situation the onus is on us to
> ensure
> > that mpl builds OK and passes all of our tests with and without each of
> the
> > external libraries.
>
> If you only have internal libs, then there is less to do -- it only
> need to work with the version you bundle. And making sure it works
> with any-old-version-that-may-not-exist-yet is a pretty formidable
> challenge!
>

We have sonums for this very reason.  And this could apply just as well to
python itself.  There is a reason not many distros ship SAGE packages.


> > Linux distro packagers will choose to set up qhull as a
> > required dependency for their mpl package, and once they have done this
> can
> > simply delete our directory containing the qhull source code in their mpl
> > source package,
>
> If they are going to insist on doing this, then, yes you should
> certainly do it this way.
>

Yes, they are.  This is the whole point of having packages in the first
place, as opposed to something like windows where every program just
bundles everything..


> > we can all be confident that it will work correctly.
>
> only if you've  tested against the version (maybe patched) of the
> external lib they are using...
>

It is only matplotlib's responsibility to test against the unpatched
versions specified, just like it is only matplotlib's responsibility to
test against the unpatched python versions specified.  Doing this isn't a
particularly difficult task, there are easily tens of thousands of apps
that have no problem with this.


> > If we always used our internal version then distro packagers would have
> to
> > change our setup scripts to build using the external libraries.  This
> would
> > be more time-consuming and error prone leading to less timely mpl distro
> > releases.  We need to make their job as easy as possible.
>
> it's easiest for them if they don't try to pull out an included
> dependency -- but maybe you're right that that REALLY want to do that!
>

It would be easiest if matplotlib detected whether the library is present
at build-time.  That is what most packages do.


> >The needs of the distro packagers, which are primarily security and
> > stability, are sometimes at odds with the needs of scientific software,
> > where the premium is on reproducibility.  The output of matplotlib
> depends
> > on the versions of some of its dependencies, not the version of
> matplotlib
> > alone, and that's problematic for some...
>
> exactly -- if we know exactly which version of a lib is in use, we
> know that it works the way we expect in the use cases we expect to use
> it in.
>
> But I'm not maintaining this code, so have at it in the way that makes
> sense to you.
>
> NOTE: it would be a different story if this were a netwroking protocol
> lib, or something where security patches would be critical. Maybe I'm
> naive, but this doesn't seem likely in this case.
>

You would be surprised what sort of packages can lead to security
vulnerabilities.
--
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60135991&iu=/4140/ostg.clktrk___
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel


Re: [matplotlib-devel] ggplot for matplotlib

2013-10-21 Thread Jason Grout
On 10/21/13 12:11 PM, Michael Droettboom wrote:
> Yes -- I reached out to the author about exactly that this morning.  It
> would be great to closely collaborate on this.
>

Awesome.  I saw this on HackerNews a few days ago and got really excited 
about it.  So a big +1 from me.

Thanks,

Jason



--
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60135991&iu=/4140/ostg.clktrk
___
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel


[matplotlib-devel] Problem compiling master

2013-10-21 Thread Todd
As of last night, I can no longer compile master.  I get the following
error:

building 'matplotlib.ttconv' extension
creating build/temp.linux-x86_64-2.7/extern/ttconv
gcc -pthread -fno-strict-aliasing -fmessage-length=0 -O2 -Wall
-D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables
-fasynchronous-unwind-tables -g -DNDEBUG -fmessage-length=0 -O2 -Wall
-D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables
-fasynchronous-unwind-tables -g -fPIC
-DPY_ARRAY_UNIQUE_SYMBOL=MPL_matplotlib_ttconv_ARRAY_API
-DPYCXX_ISO_CPP_LIB=1
-I/usr/lib64/python2.7/site-packages/numpy/core/include
-I/usr/local/include -I/usr/include -I. -I/usr/include/python2.7 -c
src/_ttconv.cpp -o build/temp.linux-x86_64-2.7/src/_ttconv.o
src/_ttconv.cpp:12:27: fatal error: ttconv/pprdrv.h: No such file or
directory
compilation terminated.
error: command 'gcc' failed with exit status 1

This happens even when building from a newly-cloned directory.  I am
building on Linux (openSUSE 12.3).  There shouldn't be ttconv/pprdrv.h, it
has been moved to extern/ttconv/pprdrv.h.  I can't figure out why it is
still looking there.
--
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60135991&iu=/4140/ostg.clktrk___
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel