[Numpy-discussion] Time for beta1 of NumPy 1.0

Travis Oliphant oliphant.travis at ieee.org
Fri Jun 30 04:33:56 CDT 2006


Alan G Isaac wrote:
> On Thu, 29 Jun 2006, Travis Oliphant apparently wrote: 
>   
>> Please make any comments or voice major concerns 
>>     
>
> A rather minor issue, but I would just like to make sure 
> that a policy decision was made not to move to a float 
> default for identity(), ones(), zeros(), and empty().
> (I leave aside arange().)
>   

This was a policy decision made many months ago after discussion on this 
list and would need over-whelming pressure to change. 

> I see the argument for a change to be 3-fold:
>   

I am, however, sympathetic to the arguments for wanting floating-point 
defaults.   I wanted to change this originally but was convinced to not 
make such a major change for back-ward compatibility (more on that later). 

Nonetheless, I would support the creation of a module called something 
like defaultfloat or some-other equally impressive name ;-) which 
contained floating-point defaults of these functions (with the same 
names). 

Feel free to contribute (or at least find a better name). 


Regarding the problem of backward compatibility:

I am very enthused about the future of both NumPy and SciPy.  There have 
been a large number of new-comers to the community who have contributed 
impressively and I see very impressive things going on.    This is "a 
good thing" because these projects need many collaborators and 
contributors to be successful. 

However, I have not lost sight of the fact that we still have a major 
adoption campaign to win before declaring NumPy a success.  There are a 
lot of people who still haven't come-over from Numeric and numarray.     
Consider these download numbers:

Numeric-24.2 (released Nov. 11, 2005)

14275   py24.exe
 2905    py23.exe
 9144    tar.gz     

Numarray 1.5.1 (released Feb, 7, 2006)

10272   py24.exe
11883   py23.exe
12779   tar.gz

NumPy 0.9.8   (May 17, 2006)

 3713    py24.exe 
   558    py23.exe
 4111    tar.gz


While it is hard to read too much into numbers, this tells me that there 
are about 10,000 current users of Numeric/Numarray who have not even 
*tried* NumPy.  In fact, Numarray downloads of 1.5.1 went up 
significantly from its earlier  releases. Why is that?   It could be 
that many of the downloads are "casual" users who need it for some other 
application (in which case they wouldn't feel inclined to try NumPy).

On the other hand, it is also possible that many are still scared away 
by the pre-1.0 development-cycle --- it has been a bit bumpy for the 
stalwarts who've braved the rapids as NumPy has matured.  Changes like 
the proposal to move common functions from default integer to default 
float are exactly the kind of thing that leads people to wait on getting 
NumPy. 
 
One thing I've learned about Open Source development is that it can be 
hard to figure out exactly what is bothering people and get good 
critical feedback:  people are more likely to just walk away with their 
complaints than to try and verbalize and/or post them.    So, looking at 
adoption patterns can be a reasonable way to pick up on attitudes. 

It would appear that there is still a remarkable number of people who 
are either waiting for NumPy 1.0 or waiting for something else.  I'm not 
sure.   I think we have to wait until 1.0 to find out.  Therefore, 
bug-fixes and stabilizing the NumPy API is my #1 priority right now.

The other day I read a post by Alex Martelli (an influential Googler) to 
the Python list where he was basically suggesting that people stick with 
Numeric until things "stabilize".  I can hope he meant "until NumPy 1.0 
comes out"  but he didn't say that and maybe he meant "until the array 
in Python stabilizes."

I hope he doesn't mean the rumors about an array object in Python 
itself.  Let me be the first to assure everyone that rumors of a 
"capable" array object in Python have been greatly exaggerated.  I would 
be thrilled if we could just get the "infra-structure" into Python so 
that different extension modules could at least agree on an array 
interface.   That is a far cry from fulfilling the needs of any current 
Num user, however.

I say all this only to point out why de-stabilizing changes are 
difficult to do at this point, and to encourage anyone with an interest 
to continue to promote NumPy.   If you are at all grateful for its 
creation, then please try to encourage those whom you know to push for 
NumPy adoption (or at least a plan for its adoption) in the near future. 

Best regards,

-Travis










More information about the Numpy-discussion mailing list