Links to the older array packages for Python are provided here. New users should start out with NumPy.
NumPy derives from the old Numeric code base and can be used as a replacement for Numeric. It also adds the features introduced by Numarray and can also be used to replace Numarray.
Numeric users should find the transition relatively easy (although not without some effort). There is a module (numpy.oldnumeric.alter_code1) that can make most of the necessary changes to your Python code that used Numeric to work with NumPy’s Numeric compatibility module.
Users of numarray can also transition their code using a similar module (numpy.numarray.alter_code1) and the numpy.numarray compatibility layer.
C-code written to either package can be easily ported to NumPy using “numpy/oldnumeric.h” and “numpy/libnumarray.h” for the Numeric C-API and the Numarray C-API respectively.
For about 6 months at the end of 2005, Numpy was called SciPy Core (not to be confused with the full SciPy package which remains a separate package), and so you may occasionally see references to SciPy Core floating around. It was, however, decided in January 2006 to go with the historical name of NumPy for the new package.
Numeric was the first array object built for Python. It has been quite successful and is used in a wide variety of settings and applications. Maintenance has ceased for Numeric, and users should transisition to NumPy as quickly as possible. There is a module called numpy.oldnumeric.alter_code1 in NumPy that can make the transition to NumPy easier (it will automatically perform the search-and-replace style changes that need to be made to python code that uses Numeric to make it work with NumPy).
Numarray is another implementation of an array object for Python written after Numeric and before NumPy. Sponsors of numarray have indicated they will be moving to NumPy as soon as is feasible for them so that eventually numarray will be phased out (probably sometime in 2007).