Re: [matplotlib-devel] Problem adding a new test

2009-10-14 Thread Michael Droettboom
Andrew Straw wrote:
> Michael Droettboom wrote:
>
>> A couple more comments about the test framework -- which has already 
>> paid for itself ten times over.  In Numpy (and a number of local 
>> Python projects), I can 'cd' to the tests directory and do something 
>> like:
>>
>>nosetests test_simplification.py:test_hatch_simplify
>>
>> and run on particular test, or a single file of tests.  It's a huge 
>> time saver when trying to fix a bug.  However, with matplotlib I get:
>>
>>  > nosetests test_simplification.py
>> E
>> ==
>> ERROR: Failure: ImportError (cannot import name cbook)
>> 
>> I suspect this is something peculiar to how matplotlib gets imported.
>>   
>
> Yes, it would be very nice, I absolutely agree. I'm not sure what's 
> going on, either, but I agree that it would be nice to fix. See below 
> for an idea.
>
>
>> Also, I have a quad-core machine, so I put this in my .noserc, which 
>> will run tests in parallel:
>>
>>[nosetests]
>>processes=4
>>
>> Unfortunately, due to however matplotlib is delegating to nose, this 
>> doesn't seem to get picked up.
>>
>> I don't know if I'll get a chance to look at these things right away, 
>> but thought I'd share in case the solutions are obvious to anyone 
>> else (which I know isn't good form, but hey... ;)
>>   
> My guess is that this may actually be related to the first issue. On 
> this second issue, though, I have a specific idea -- in order for MPL 
> to pickup the nose plugin, I had to do the song and dance in test() of 
> matplotlib/__init__.py in which I create a nose.config.Config 
> instance. I suspect this is why your processes argument isn't getting 
> through -- we're completely bypassing any local nose config and 
> creating ours programattically. I'm definitely not in favor the big 
> song and dance, so if you can rip it out and still get the plugin to 
> load, that would be super.
>
> Once that is figured out, presumably the direct call to "nosetests 
> test_simplification.py:test_hatch_simplify" will also load the nose 
> plugins and thus not exhibit weird behavior when a known failure is 
> encountered.
>
> I almost certainly won't get a chance to look at these right away, so 
> if anyone wants to go spelunking in the nose/mpl interaction, feel free.
I have a partial solution to these problems.

You can now do (from any directory)

   nosetests matplotlib.tests

and this automatically picks up nose parameters, so you can do 
multiprocessing, pdb, coverage and other nose niceties.

Strangely, I still can't make running "nosetests" from the 
lib/matplotlib/tests directory work.  The imports seem to get all 
screwed up in that case, presumably because nose is messing with 
sys.path.  Unfortunately, nosetests -P (which is supposed to not touch 
sys.path) doesn't seem to help.

I made sure that "import matplotlib; matplotlib.test()" still works, so 
the buildbots should be unaffected.

As a side note, I disabled the xmllint testing since curl (which xmllint 
uses to fetch the SVG DTD) has some problems with caching in a 
multiprocess situation.  It gives random "Operation in progress" errors.

Mike

-- 
Michael Droettboom
Science Software Branch
Operations and Engineering Division
Space Telescope Science Institute
Operated by AURA for NASA


--
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
___
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel


[matplotlib-devel] AutoDateFormatter/AutoDateLocator

2009-10-14 Thread Ryan May
Hi,

Anybody know what the status of AutoDateLocator/AutoDateFormatter in
matplotlib.dates are?  They work and seem reasonably well documented.
However, they do not show up in our online docs:

http://matplotlib.sourceforge.net/api/dates_api.html

They show up in the inheritance graph, but are not mentioned elsewhere
in the page and in fact have no link from the image.  They're also not
present in the __all__ in the dates module.  If this is just an
oversight, what do I need to do to make the classes show up in the
docs?

Ryan

-- 
Ryan May
Graduate Research Assistant
School of Meteorology
University of Oklahoma

--
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
___
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel


Re: [matplotlib-devel] AutoDateFormatter/AutoDateLocator

2009-10-14 Thread John Hunter
On Wed, Oct 14, 2009 at 2:16 PM, Ryan May  wrote:
> Hi,
>
> Anybody know what the status of AutoDateLocator/AutoDateFormatter in
> matplotlib.dates are?  They work and seem reasonably well documented.
> However, they do not show up in our online docs:
>
> http://matplotlib.sourceforge.net/api/dates_api.html
>
> They show up in the inheritance graph, but are not mentioned elsewhere
> in the page and in fact have no link from the image.  They're also not
> present in the __all__ in the dates module.  If this is just an
> oversight, what do I need to do to make the classes show up in the
> docs?

Most likely this is just due to an oversight in the __all__ so just
add it there in the branch and it should get picked up next time we
build the docs

JDH

--
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
___
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel


Re: [matplotlib-devel] AutoDateFormatter/AutoDateLocator

2009-10-14 Thread Ryan May
On Wed, Oct 14, 2009 at 3:08 PM, John Hunter  wrote:
> Most likely this is just due to an oversight in the __all__ so just
> add it there in the branch and it should get picked up next time we
> build the docs

Done.  I also added them to the module-level docstring.

Along these lines, I was trying to make use of AutoDateLocator, and as
far as I can tell, there's no way to customize its behavior right now.
 So when trying to use this for doing major and minor ticks, there's
no difference.  It looks like in the get_locator() method of
AutoDateLocator, numticks is used to control what types of ticking
(yearly, monthly) is used.  Would it make sense to have this as an
attribute of self so that the user can tweak it?  Or maybe go to:

1) minticks (instead of numticks) which specifies a minimum number of
ticks that are desired,
 to select yearly, monthly, etc.
2) maxticks, which specifies a maximum number of ticks, which can be
used to calculate the interval
 (every N'th month). Right now, the rules for selecting this are hard coded.

I'm interested in hacking this up.  But since you wrote the code, I
want to make sure that going this direction makes sense to you.

Ryan

-- 
Ryan May
Graduate Research Assistant
School of Meteorology
University of Oklahoma

--
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
___
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel


Re: [matplotlib-devel] AutoDateFormatter/AutoDateLocator

2009-10-14 Thread John Hunter
On Wed, Oct 14, 2009 at 3:47 PM, Ryan May  wrote:
> On Wed, Oct 14, 2009 at 3:08 PM, John Hunter  wrote:
>> Most likely this is just due to an oversight in the __all__ so just
>> add it there in the branch and it should get picked up next time we
>> build the docs
>
> Done.  I also added them to the module-level docstring.
>
> Along these lines, I was trying to make use of AutoDateLocator, and as
> far as I can tell, there's no way to customize its behavior right now.
>  So when trying to use this for doing major and minor ticks, there's
> no difference.  It looks like in the get_locator() method of
> AutoDateLocator, numticks is used to control what types of ticking
> (yearly, monthly) is used.  Would it make sense to have this as an
> attribute of self so that the user can tweak it?  Or maybe go to:
>
> 1) minticks (instead of numticks) which specifies a minimum number of
> ticks that are desired,
>     to select yearly, monthly, etc.
> 2) maxticks, which specifies a maximum number of ticks, which can be
> used to calculate the interval
>     (every N'th month). Right now, the rules for selecting this are hard 
> coded.
>
> I'm interested in hacking this up.  But since you wrote the code, I
> want to make sure that going this direction makes sense to you.

I don't have a strong opinion on this -- making it more customizable
is a good thing -- this came up at scipy as well, where I contributed
a patch to make the AutoDateFormatter a little more customizable by
exposing a scaled dictionary mapping the scale to a format string.  As
long as the extension to the AutoDateLocator preserves the core
functionality, I say have at it.

JDH

--
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
___
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel


Re: [matplotlib-devel] error with basemap and pdf

2009-10-14 Thread Jouni K . Seppänen
Michael Hearne  writes:

> I have attached a PDF created with matplotib/basemap.  On my mac,
> Preview opens this file without any errors.  However, Adobe Acrobat
> 9.2.0 (Mac) reports this error:
>
> "An error exists on this page. Acrobat may not display the page
> correctly. Please contact the person who created the PDF document to
> correct the problem."

This is probably a bug in the pdf backend. Ghostscript 8.62 complains
with "Error: /nocurrentpoint in --run--". This suggests that an "m"
(moveto) command is missing somewhere. I'm too busy to debug this today,
but please file a bug in the tracker.

-- 
Jouni K. Seppänen
http://www.iki.fi/jks


--
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
___
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel