[Numpy-discussion] Remove support for numeric and numarray in 1.8

Nathaniel Smith njs@pobox....
Sun Jan 6 18:07:21 CST 2013

On Sun, Jan 6, 2013 at 10:36 PM, Charles R Harris
<charlesr.harris@gmail.com> wrote:
> On Sun, Jan 6, 2013 at 8:09 AM, Charles R Harris <charlesr.harris@gmail.com>
> wrote:
>> On Sun, Jan 6, 2013 at 7:42 AM, Nathaniel Smith <njs@pobox.com> wrote:
>>> On Sun, Jan 6, 2013 at 2:38 AM, Charles R Harris
>>> <charlesr.harris@gmail.com> wrote:
>>> > Thoughts?
>>> To be clear, what you're talking about is basically deleting these two
>>> packages:
>>>   numpy.oldnumeric
>>>   numpy.numarray
>>> plus the compatibility C API in
>>>   numpy/numarray/include
>>> ?
>> Yep.
>>> So this would only affect Python code which explicitly imported one of
>>> those two packages (neither is imported by default), or C code which
>>> did #include "numpy/numarray/..."?
>> Those packages were intended to be an easy path for folks to port their
>> numeric and numarray code to numpy. During the 2.4 discussion there was a
>> fellow who said his group was just now moving their code from numeric to
>> numpy, but I had the feeling they were rewriting it in the process.
>>> (I'm not even sure how you would build such a C module, these headers
>>> are distributed in a weird directory not accessible via
>>> np.get_include(). So unless your build system does some special work
>>> to access it, you can't even see these headers.)
>> Never tried it myself. There is some C code in those packages and it easy
>> to overlook its maintenance, so I'd like to solve the problem by nuking it.
> Oops. The proposal is to only remove numarray support. The functions in
> oldnumeric have been taken over into numpy and we need to keep them.

...huh? The package name is mentioned nowhere in the numpy sources...

~/src/numpy/numpy$ find -type f | grep -Ev
'^\./(numarray|oldnumeric)/' | xargs grep oldnumeric
./setupscons.py:    config.add_subpackage('oldnumeric')
./bento.info:        oldnumeric,
./core/setup.py:            join('include', 'numpy', 'oldnumeric.h'),
./setup.py:    config.add_subpackage('oldnumeric')

...and it's not even available unless a user explicitly does 'import
numpy.oldnumeric' or 'import numpy.numarray', so no-one's using this
stuff without knowing it:

In [2]: import numpy

In [3]: [m for m in sys.modules if m.startswith("numpy.oldnumeric")]
Out[3]: []


More information about the NumPy-Discussion mailing list