[Numpy-discussion] Time for beta1 of NumPy 1.0
oliphant.travis at ieee.org
Fri Jun 30 05:33:56 EDT 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
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)
Numarray 1.5.1 (released Feb, 7, 2006)
NumPy 0.9.8 (May 17, 2006)
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
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.
More information about the NumPy-Discussion