[Numpy-discussion] C-API change for 1.2
Jon Wright
wright@esrf...
Sat Aug 16 16:02:56 CDT 2008
Robert Kern wrote:
>
> FWIW, neither PIL nor PyOpenGL have C code which uses numpy arrays, so
> they are entirely unaffected.
OK, so here are some projects which might notice a 1.2 installation, in
as much as they turn up on a google code search for:
#include "numpy/arrayobject.h" -scipy -enthought
... so one might imagine their programs will suddenly stop working.
Based on the first 40 of >200 hits, these projects seem to offer binary
windows downloads and have a C source which includes numpy/arrayobject.h :
PyQwt3d
ScientificPython
RPy
PyTables
pygsl
VPython
bayes-blocks http://forge.pascal-network.org/projects/bblocks/
fdopython http://fdo.osgeo.org
For these ones I only found source, so they'd be daft to complain about
a program that previously worked just fine has stopped working:
neuron (www.neuron.yale.edu)
pysl - bridge between python and S-lang
BGL - Biggles Graphics Library
www.eos.ubc.ca/research/clouds/software.html
astronomyworks.googlecode.com
pyrap.google.com
pyroms.googlecode.com
pyamg.googlecode.com
mdanalysis.googlecode.com
pythoncall - python to matlab interface
code.astraw.com/projects/motmot
(It is impressive that there are so many users out there, and it turns
out that this is a great way to find interesting code.)
Even if there turn out to be a lot of duplicates in the >200 hits,
already most of those projects have notices saying things like "be sure
to get numpy, not Numeric or numarray". Do you want all of them to be
delivering a matrix of binaries for different python versions multiplied
by numpy <1.1.x versus >1.2.x ? What happens when someone wants to use
*two* modules at the time, but one is distributing 1.1 binaries and the
other has 1.2? The main reason I changed to numpy was that you stopped
doing the Numeric binaries for python2.5. There was no way to distribute
my own code for 2.5 without shipping Numeric too, which I didn't want to
do, given that you were trying to get everyone to switch.
What is the cool new feature that 1.2 has gained which is making all
this worthwhile? Are you really 100% certain you need that new feature
enough to make all those strangers need to do all that work? Can you
give a concrete example of something which is gained by:
> "The hasobject member of the PyArray_Descr structure should be renamed to "flags" and converted to a 32-bit integer."
Try to look 12 months into the future and ask yourselves if it was
really a good idea to break the ABI.
Jon
More information about the Numpy-discussion
mailing list